{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Dataset level analysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This notebook analyses dataset-level data from `rpackage_stats.csv`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from matplotlib import rc\n",
    "import pandas as pd\n",
    "import re, os\n",
    "\n",
    "# plot style\n",
    "sns.set_style('whitegrid')\n",
    "sns.set_style({'font.family': 'Times New Roman'})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv(\"data/rpackage_stats.csv\", delimiter='\\t', \\\n",
    "                 names=[\"doi\", \"list_of_all\", \"comments_no\", \"dependen_no\", \"list_of_libs\", \"total_size\"])\n",
    "# doi, list_of_all_files, total_number_of_comments, total_numebr_of_libraries, list_of_libraries, total_size"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2091"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>list_of_all</th>\n",
       "      <th>comments_no</th>\n",
       "      <th>dependen_no</th>\n",
       "      <th>list_of_libs</th>\n",
       "      <th>total_size</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/XFQZI2</td>\n",
       "      <td>FigureA2data.dta;Readme.rtf;Condemnation.dta;C...</td>\n",
       "      <td>71</td>\n",
       "      <td>10</td>\n",
       "      <td>rms;xtable;readstata13;Matching;foreign</td>\n",
       "      <td>411332</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>campaign_effects_replication.do;replication_da...</td>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>ggplot2</td>\n",
       "      <td>12105318</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>fig_10_effect_of_winning_on_gov.R;tab_8_campai...</td>\n",
       "      <td>194</td>\n",
       "      <td>111</td>\n",
       "      <td>ggplot2;lm_2008;lm_2004;character.only=TRUE;li...</td>\n",
       "      <td>2959665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>sponsorship_1_v3_November+6%2C+2017_12.32.csv;...</td>\n",
       "      <td>168</td>\n",
       "      <td>21</td>\n",
       "      <td>sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...</td>\n",
       "      <td>5350420</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/JXXNDO</td>\n",
       "      <td>wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...</td>\n",
       "      <td>140</td>\n",
       "      <td>0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1402185</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi                                        list_of_all  \\\n",
       "0  doi:10.7910/DVN/XFQZI2  FigureA2data.dta;Readme.rtf;Condemnation.dta;C...   \n",
       "1  doi:10.7910/DVN/WGPDBS  campaign_effects_replication.do;replication_da...   \n",
       "2  doi:10.7910/DVN/BPON3K  fig_10_effect_of_winning_on_gov.R;tab_8_campai...   \n",
       "3  doi:10.7910/DVN/ZWAGXZ  sponsorship_1_v3_November+6%2C+2017_12.32.csv;...   \n",
       "4  doi:10.7910/DVN/JXXNDO  wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...   \n",
       "\n",
       "   comments_no  dependen_no  \\\n",
       "0           71           10   \n",
       "1           17            1   \n",
       "2          194          111   \n",
       "3          168           21   \n",
       "4          140            0   \n",
       "\n",
       "                                        list_of_libs  total_size  \n",
       "0            rms;xtable;readstata13;Matching;foreign      411332  \n",
       "1                                            ggplot2    12105318  \n",
       "2  ggplot2;lm_2008;lm_2004;character.only=TRUE;li...     2959665  \n",
       "3  sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...     5350420  \n",
       "4                                                NaN     1402185  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Convert file size to MB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['sizeMB']=df['total_size']/1000000\n",
    "df['sizeMB']=df['sizeMB'].round(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Find number of files per dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def count_files_no(el):\n",
    "    temp = el.split(\";\")\n",
    "    return len(temp)\n",
    "\n",
    "df['files_count']=df[\"list_of_all\"].apply(count_files_no)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Check if files contain readme or instructions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_docs(el):\n",
    "    temp = el.lower()\n",
    "    temp = temp.replace(\" \", \"\")\n",
    "    temp = temp.replace(\"-\", \"\")\n",
    "    temp = temp.replace(\"_\", \"\")\n",
    "    \n",
    "    if ('readme' in temp) or ('read.me' in temp): # avoid things like 'readdata'\n",
    "        return 1\n",
    "    if \"codebook\" in temp: # dataverse lingo\n",
    "        return 1\n",
    "    if 'instruction' in temp:\n",
    "        return 1\n",
    "    if \"documentation\" in temp or ('replicationdocument' in temp): \n",
    "        return 1\n",
    "    if '.md' in temp:\n",
    "        return 1\n",
    "    if 'guide' in temp:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "# doc and docs give many false positives\n",
    "# many code files contain word replication, ie replication.r and replication.do\n",
    "# extenstions: pdf, aux, tex, rtf, log, blg, doc\n",
    "df['docs']=df[\"list_of_all\"].apply(contain_docs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1    1205\n",
       "0     886\n",
       "Name: docs, dtype: int64"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['docs'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# R file count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_r_file(el):\n",
    "    temp = el.lower()\n",
    "    count = 0\n",
    "    count += len(re.findall(r'\\.r;', temp))\n",
    "    if temp.endswith('.r'):\n",
    "        count += 1\n",
    "    return count\n",
    "\n",
    "df['r_file']=df[\"list_of_all\"].apply(contain_r_file)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Check if there is a testing script"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_testing(el):\n",
    "    temp = el.lower()\n",
    "    if \"test\" in temp:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['test']=df[\"list_of_all\"].apply(contain_testing)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Check if there is a testing library"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['list_of_libs']=df['list_of_libs'].fillna(\"\")\n",
    "df['list_of_libs'].isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_testing_lib(el):\n",
    "    if el is None:\n",
    "        return 0\n",
    "    temp = el.lower()\n",
    "    if \"runit\" in temp:\n",
    "        return 1\n",
    "    if \"testthat\" in temp:\n",
    "        return 1\n",
    "    if \"tinytest\" in temp:\n",
    "        return 1\n",
    "    if \"unitizer\" in temp:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['test_lib']=df[\"list_of_libs\"].apply(contain_testing_lib)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2091\n",
       "Name: test_lib, dtype: int64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.test_lib.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Prov library"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_prov_lib(el):\n",
    "    if el is None:\n",
    "        return 0\n",
    "    temp = el\n",
    "    if \"provR\" in temp:\n",
    "        return 1\n",
    "    if \"provenance\" in temp:\n",
    "        return 1\n",
    "    if \"RDTlite\" in temp:\n",
    "        return 1\n",
    "    if \"RDataTracker\" in temp:\n",
    "        return 1\n",
    "    if \"provTraceR\" in temp:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['prov']=df[\"list_of_libs\"].apply(contain_prov_lib)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2091\n",
       "Name: prov, dtype: int64"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['prov'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Check if there is a workflow library"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_workflow_lib(el):\n",
    "    if el is None:\n",
    "        return 0\n",
    "    temp = el.lower()\n",
    "    if \"workflowr\" in temp:\n",
    "        return 1\n",
    "    if \"drake\" in temp:\n",
    "        return 1\n",
    "    if \"workflows\" in temp:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['wflow_lib']=df[\"list_of_libs\"].apply(contain_workflow_lib)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2091\n",
       "Name: wflow_lib, dtype: int64"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.wflow_lib.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Environment"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def dockerfile(el):\n",
    "    temp = el.lower()\n",
    "    if \"dockerfile\" in temp:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['dockerfile']=df[\"list_of_all\"].apply(dockerfile)\n",
    "df['dockerfile'].sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Check if file names contain space"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_space(el):\n",
    "    if \" \" in el:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['space']=df[\"list_of_all\"].apply(contain_space)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain other code"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "other_languages = [0, 0, 0, 0, 0, 0, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_code(el):\n",
    "    \"checks if dataset contains other code\"\n",
    "    temp = el.lower()\n",
    "    \n",
    "    a = b = c = d = e = f = g = 0\n",
    "    res = \"\"\n",
    "    if \".do;\" in temp or temp.endswith('.do'):\n",
    "        other_languages[0] += 1\n",
    "        res = 1\n",
    "    if \".py;\" in temp or temp.endswith('.py'):\n",
    "        other_languages[1] += 1\n",
    "        res = 1\n",
    "    if \".java;\" in temp or temp.endswith('.java'):\n",
    "        other_languages[2] += 1\n",
    "        res = 1\n",
    "    if \".cpp;\" in temp or temp.endswith('.cpp'):\n",
    "        other_languages[3] += 1\n",
    "        res = 1\n",
    "    if \".m;\" in temp or temp.endswith('.m'):\n",
    "        other_languages[4] += 1\n",
    "        res = 1\n",
    "    if \".sas;\" in temp or temp.endswith('.sas'):\n",
    "        other_languages[5] += 1\n",
    "        res = 1\n",
    "    if \".rb;\" in temp or temp.endswith('.rb'):\n",
    "        other_languages[6] += 1\n",
    "        res = 1\n",
    "    \n",
    "    if res:\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['other_code']=df[\"list_of_all\"].apply(contain_code)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[620, 46, 0, 7, 6, 9, 0]\n"
     ]
    }
   ],
   "source": [
    "print other_languages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2091"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain R markdown"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_rmd(el):\n",
    "    \"checks if dataset contains .rmd\"\n",
    "    temp = el.lower()\n",
    "    if \".rmd;\" in temp or temp.endswith('.rmd'):\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['rmd']=df[\"list_of_all\"].apply(contain_rmd)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain .Rproj"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_rproj(el):\n",
    "    \"checks if dataset contains .rproj\"\n",
    "    temp = el.lower()\n",
    "    if \".rproj;\" in temp or temp.endswith('.rproj'):\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['rproj']=df[\"list_of_all\"].apply(contain_rproj)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2069\n",
       "1      22\n",
       "Name: rproj, dtype: int64"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.rproj.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain RNW"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_rnw(el):\n",
    "    \"checks if dataset contains .Rnw\"\n",
    "    temp = el.lower()\n",
    "    if \".rnw;\" in temp or temp.endswith('.rnw'):\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['rnw']=df[\"list_of_all\"].apply(contain_rnw)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain SessionInfo"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['cle_1.png;renv.lock;pl']\n",
      "['do;fes2017.dta;lockfil', 'ames_mar17.txt;lockfil', 'lus_schulz.dta;lockfil', 'wuttkeetal2019.lock;be']\n",
      "['c.4100.4400.sr.lock;be']\n",
      "['a3033.dta;renv.lock;za']\n"
     ]
    }
   ],
   "source": [
    "def contain_sessionInfo(el):\n",
    "    \"checks if dataset contains .lock files\"\n",
    "    temp = el.lower()\n",
    "    if \"sessionInfo\" in temp:\n",
    "        match = re.findall(r\".{5}sessionInfo.{5}\", temp, flags = re.IGNORECASE)\n",
    "        print(match)\n",
    "        return 2\n",
    "    if \".lock\" in temp:\n",
    "        match = re.findall(r\".{15}lock.{3}\", temp, flags = re.IGNORECASE)\n",
    "        print(match)\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['si']=df[\"list_of_all\"].apply(contain_sessionInfo)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2087\n",
       "1       4\n",
       "Name: si, dtype: int64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['si'].value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Look for Renv lib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['ot3d;renv;tidy']\n"
     ]
    }
   ],
   "source": [
    "def uses_renv(el):\n",
    "    \"checks if dataset contains .Rnw\"\n",
    "    temp = el.lower()\n",
    "    if \"renv\" in temp:\n",
    "        match = re.findall(r\".{5}renv.{5}\", temp, flags = re.IGNORECASE)\n",
    "        print(match)\n",
    "        return 2\n",
    "    return 0\n",
    "\n",
    "df['renv']=df[\"list_of_libs\"].apply(uses_renv)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain DESCRIPTION"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['e.md;description;s14_']\n",
      "['catordescription.csv;', 'catordescription.tex;']\n",
      "['5513-descriptioncitat', '0261-descriptioncitat']\n",
      "['ator_description.csv;']\n",
      "['file_description.txt;']\n",
      "['on.r;description.html', 'on.r;description.rmd;']\n",
      "['iabledescriptions.txt']\n",
      "['.dta;description;shin', 'studydescription_mj16']\n",
      "['data description.tab;']\n",
      "['proj;description;upda']\n",
      "['file descriptions.may']\n",
      "[';datadescription.pdf;']\n",
      "['.txt;description;lice']\n",
      "['code description.docx']\n",
      "['ct.r;description.pdf;']\n",
      "['.csv;description;onli']\n",
      "['l.rd;description;8972']\n",
      "['.eps;description;inc_']\n",
      "['bles_description;ir1.']\n",
      "['tion description.docx']\n",
      "['data_description.pdf;']\n",
      "['ng.r;description of h']\n",
      "['data_description.pdf;']\n",
      "['ablesdescription.docx']\n",
      "['7250-descriptioncitat']\n",
      "['data_description.tab;']\n",
      "['data_description.docx']\n",
      "['ease descriptions to ', 'ties_description.tab;']\n",
      "['& 2 (description) v7.']\n",
      "['.pdf;description;news']\n"
     ]
    }
   ],
   "source": [
    "def contain_desc(el):\n",
    "    \"checks if dataset contains DESCRIPTION\"\n",
    "    temp = el.lower()\n",
    "    if \"description;\" in temp or temp.endswith('description'):\n",
    "        match = re.findall(r\".{5}description.{5}\", temp, flags = re.IGNORECASE)\n",
    "        print(match)\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "def contain_any_desc(el):\n",
    "    \"checks if dataset contains DESCRIPTION\"\n",
    "    temp = el.lower()\n",
    "    if \"description\" in temp:\n",
    "        match = re.findall(r\".{5}description.{5}\", temp, flags = re.IGNORECASE)\n",
    "        print(match)\n",
    "        return 1\n",
    "    return 0\n",
    "\n",
    "df['any_desc']=df[\"list_of_all\"].apply(contain_any_desc)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['e.md;description;s14_']\n",
      "['.dta;description;shin', 'studydescription_mj16']\n",
      "['proj;description;upda']\n",
      "['.txt;description;lice']\n",
      "['.csv;description;onli']\n",
      "['l.rd;description;8972']\n",
      "['.eps;description;inc_']\n",
      "['bles_description;ir1.']\n",
      "['.pdf;description;news']\n"
     ]
    }
   ],
   "source": [
    "df['desc']=df[\"list_of_all\"].apply(contain_desc)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2082\n",
       "1       9\n",
       "Name: desc, dtype: int64"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.desc.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    2061\n",
       "1      30\n",
       "Name: any_desc, dtype: int64"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.any_desc.value_counts()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Contain LICENSE, NAMESPACE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "docker = 0\n",
    "readme = 0\n",
    "license = 0\n",
    "namespace = 0\n",
    "installr = 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "def contain_stuff(el):\n",
    "    \"checks if dataset contains stuff\"\n",
    "    global docker, readme, license, namespace, installr\n",
    "    temp = el.lower()\n",
    "    if \"dockerfile\" in temp:\n",
    "        docker +=1\n",
    "    if \"readme\" in temp:\n",
    "        readme +=1\n",
    "    if \"license\" in temp:\n",
    "        license +=1\n",
    "    if \"namespace\" in temp:\n",
    "        namespace +=1\n",
    "    if \"install.r\" in temp:\n",
    "        installr +=1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = df[\"list_of_all\"].apply(contain_stuff)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Docker 9\n",
      "Readme 998\n",
      "License 14\n",
      "Namespace 6\n",
      "InstallR 1\n"
     ]
    }
   ],
   "source": [
    "print(\"Docker \"+str(docker)+\n",
    "      \"\\nReadme \"+str(readme)+\n",
    "      \"\\nLicense \"+str(license)+\n",
    "      \"\\nNamespace \"+str(namespace)+\n",
    "      \"\\nInstallR \"+str(installr)\n",
    "     )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Docker 0.430416068867\n",
      "Readme 47.7283596365\n",
      "License 0.669536107126\n",
      "Namespace 0.286944045911\n",
      "InstallR 0.0478240076518\n"
     ]
    }
   ],
   "source": [
    "print(\"Docker \"+str(docker*100./len(df))+\n",
    "      \"\\nReadme \"+str(readme*100./len(df))+\n",
    "      \"\\nLicense \"+str(license*100./len(df))+\n",
    "      \"\\nNamespace \"+str(namespace*100./len(df))+\n",
    "      \"\\nInstallR \"+str(installr*100./len(df))\n",
    "     )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2091"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Comments per number of files"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['comments_no_files']=df[\"comments_no\"]/df[\"files_count\"]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Average length of file name"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "def file_name_len_old(el):\n",
    "    \"length of file name including extension\"\n",
    "    a = len(el) # full length\n",
    "    b = el.count(\";\")\n",
    "    return (a-b)/(b+1)\n",
    "\n",
    "def file_name_len(el):\n",
    "    l = el.split(';')\n",
    "    names = [el1.split(\".\")[0] for el1 in l]\n",
    "    total_avg = sum( map(len, names) )*1. / len(names)\n",
    "    return round(total_avg, 2)\n",
    "\n",
    "df['avg_file_len']=df[\"list_of_all\"].apply(file_name_len)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Number of unique dependencies per dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [],
   "source": [
    "import math\n",
    "def unique_libs_no(el):\n",
    "    if el is None:\n",
    "        return 0\n",
    "    if el:\n",
    "        el=str(el)\n",
    "        temp = el.split(\";\")\n",
    "        return len(temp)\n",
    "    else:\n",
    "        return 0\n",
    "\n",
    "df['unique_libs_no']=df[\"list_of_libs\"].apply(unique_libs_no)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>list_of_all</th>\n",
       "      <th>comments_no</th>\n",
       "      <th>dependen_no</th>\n",
       "      <th>list_of_libs</th>\n",
       "      <th>total_size</th>\n",
       "      <th>sizeMB</th>\n",
       "      <th>files_count</th>\n",
       "      <th>docs</th>\n",
       "      <th>r_file</th>\n",
       "      <th>...</th>\n",
       "      <th>wflow_lib</th>\n",
       "      <th>dockerfile</th>\n",
       "      <th>space</th>\n",
       "      <th>other_code</th>\n",
       "      <th>rmd</th>\n",
       "      <th>rproj</th>\n",
       "      <th>rnw</th>\n",
       "      <th>comments_no_files</th>\n",
       "      <th>avg_file_len</th>\n",
       "      <th>unique_libs_no</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/XFQZI2</td>\n",
       "      <td>FigureA2data.dta;Readme.rtf;Condemnation.dta;C...</td>\n",
       "      <td>71</td>\n",
       "      <td>10</td>\n",
       "      <td>rms;xtable;readstata13;Matching;foreign</td>\n",
       "      <td>411332</td>\n",
       "      <td>0.41</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10.142857</td>\n",
       "      <td>10.43</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>campaign_effects_replication.do;replication_da...</td>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>ggplot2</td>\n",
       "      <td>12105318</td>\n",
       "      <td>12.11</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.666667</td>\n",
       "      <td>28.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>fig_10_effect_of_winning_on_gov.R;tab_8_campai...</td>\n",
       "      <td>194</td>\n",
       "      <td>111</td>\n",
       "      <td>ggplot2;lm_2008;lm_2004;character.only=TRUE;li...</td>\n",
       "      <td>2959665</td>\n",
       "      <td>2.96</td>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.705882</td>\n",
       "      <td>24.03</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>sponsorship_1_v3_November+6%2C+2017_12.32.csv;...</td>\n",
       "      <td>168</td>\n",
       "      <td>21</td>\n",
       "      <td>sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...</td>\n",
       "      <td>5350420</td>\n",
       "      <td>5.35</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.923077</td>\n",
       "      <td>28.62</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/JXXNDO</td>\n",
       "      <td>wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...</td>\n",
       "      <td>140</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>1402185</td>\n",
       "      <td>1.40</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.727273</td>\n",
       "      <td>12.73</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi                                        list_of_all  \\\n",
       "0  doi:10.7910/DVN/XFQZI2  FigureA2data.dta;Readme.rtf;Condemnation.dta;C...   \n",
       "1  doi:10.7910/DVN/WGPDBS  campaign_effects_replication.do;replication_da...   \n",
       "2  doi:10.7910/DVN/BPON3K  fig_10_effect_of_winning_on_gov.R;tab_8_campai...   \n",
       "3  doi:10.7910/DVN/ZWAGXZ  sponsorship_1_v3_November+6%2C+2017_12.32.csv;...   \n",
       "4  doi:10.7910/DVN/JXXNDO  wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...   \n",
       "\n",
       "   comments_no  dependen_no  \\\n",
       "0           71           10   \n",
       "1           17            1   \n",
       "2          194          111   \n",
       "3          168           21   \n",
       "4          140            0   \n",
       "\n",
       "                                        list_of_libs  total_size  sizeMB  \\\n",
       "0            rms;xtable;readstata13;Matching;foreign      411332    0.41   \n",
       "1                                            ggplot2    12105318   12.11   \n",
       "2  ggplot2;lm_2008;lm_2004;character.only=TRUE;li...     2959665    2.96   \n",
       "3  sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...     5350420    5.35   \n",
       "4                                                        1402185    1.40   \n",
       "\n",
       "   files_count  docs  r_file  ...  wflow_lib  dockerfile  space  other_code  \\\n",
       "0            7     1       1  ...          0           0      0           1   \n",
       "1            3     0       1  ...          0           0      0           1   \n",
       "2           34     1      26  ...          0           0      0           0   \n",
       "3           13     1       6  ...          0           0      1           0   \n",
       "4           11     1       2  ...          0           0      0           0   \n",
       "\n",
       "   rmd  rproj  rnw  comments_no_files  avg_file_len  unique_libs_no  \n",
       "0    0      0    0          10.142857         10.43               5  \n",
       "1    0      0    0           5.666667         28.00               1  \n",
       "2    0      0    0           5.705882         24.03              22  \n",
       "3    0      0    0          12.923077         28.62               9  \n",
       "4    0      0    0          12.727273         12.73               0  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_csv(\"data/dataset_level.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'fig_10_effect_of_winning_on_gov.R;tab_8_campaign_donations.R;tab_9_LATE_nominations_overall.R;codebook.pdf;fig_14_effect_on_individual_parties.R;fig_3_effect_of_winning_on_federal_congress.R;tab_4_LATE_change.R;tab_3_balance_test_after_court_decision.R;fig_2_fig_4_party_switching.R;tab_5_LATE_change_attrition.R;fig_13_plot_loyalty_df_pct.R;career.RData;fig_5_tab_7_rd_robust_estimations.R;campaign_contributions.RData;fig_7_party_switching_by_party_VEREADORES.R;tab_10_LATE_re_nominations.R;mayor_vereadores.RData;tab_6_LATE_df.R;disloyalty_scatterplot.RData;tab_15_incumbency_party_switching.R;tab_11_LATE_nominations_diff_party.R;fig_6_nominations.R;fig_8_losing_council.R;fig_11_rd_placebo.R;tab_2_balance_test_before_court_decision.R;tab_13_LATE_gov.R;fig_12_historical_trend.R;complete_dataset.RData;tab_1_summary_stats.R;tab_12_LATE_de.R;README.txt;tab_14_LATE_placebo.R;vereadores_figure.RData;fig_9_effect_of_winning_on_state_congress.R'"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check if test is there\n",
    "df.iloc[2]['list_of_all']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Histograms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEaCAYAAAD9iIezAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi40LCBodHRwOi8vbWF0cGxvdGxpYi5vcmcv7US4rQAAIABJREFUeJzt3XdAVfX/P/DnZV0lAUHUQIFCRckUk1BRUMvGp8w0zfzk/pliWlqOsk+m+bWhfhyZIxea5EpBXGWmJooLBwIOCASVDbI3yIX37w8/9wRexgUvMs7z8Q/wPu/zXufwOvschRBCgIiIZEGvvhtARERPDoM+EZGMMOgTEckIgz4RkYww6BMRyQiDPhGRjNRp0A8MDMTChQvRuXNnvPDCC5g4cSLmzJmDKVOmYNiwYfjqq68QFhZW4XzOzs4IDAzUeZtiY2PRq1cvHD16FABw5coVzJs3D4MHD9Z5XQCQl5cHd3d3eHp61kn5tVVcXIyffvoJixYtwssvv4xPP/0UWVlZ9d0sSWhoKBYvXoxevXrVd1M0NPSxo9qLiYnBqlWr4Obmhri4uPpuTp2o06Dv7OyMefPmAQAGDRqE7du3Y+XKldiyZQs2bNiAxMREvPvuu/Dy8io3X5s2bdC3b1+0adNG67pu3bqlVT5TU1O4urqiffv2AIDWrVsjKioKBQUFWtdVk3YolUr07dsXHTt21En5uvL999+jsLAQixYtwsaNG3H58mUEBQXVd7MkpqamSE5ObpDBtKGPXX2LjY1FdnZ2fTejVpRKJfLz85GSklKj+YqLixEeHl5HraqYtjFPg3gCHBwcxJw5czTSHzx4IEaNGiW6dOkizp8/X+vy8/LyxLhx42o9/9y5c8VLL71U6/nVVCqVGDVq1GOXU9eKiopEt27dxL59++q7KVX64YcfhIODQ303o5zGMnb1aebMmSI2Nra+m1Fr3t7ewsHBoUZ92Llzp9i/f38dtqq806dPizVr1tRq3no9p29oaIjPP/8cpaWl+Omnn2pVRmFhIT755JPHOhTT19ev9bxqJSUlWLhwYaPY40tPT0dRUZFO+l2XGmL7GsvY1Zd169bh2LFj9d2Mx6KnV7OweO7cOSxZsqSOWqMpLCwMc+fOrfX8BjpsS6307NkTFhYWuHLlCjIzM1FSUgJfX1/4+Phg8eLF6N27NwDgyJEjCA8Ph0qlwm+//YaePXtizZo1+PXXXxETE4OMjAwsXLgQzz77LFxdXeHj44MjR47g119/xccff4ySkhJ4e3vj8OHD8PHxwbhx4zB8+PBybQkLC8P8+fMRHR2Nfv36YdGiRbCwsMDhw4fx3//+F0ZGRjh16hTy8/Oxf/9+fP/99xg6dCiWLl2KI0eOSNcnFi5cCHNzc0yfPh1//PEHvL294erqio8//liq6/jx4/D390ezZs1w/fp1uLi4YObMmVAqlbh37x7279+PgwcPwsvLC/v27YOPjw8sLCywZs0adOnSpdLxzMzMxLp162BoaIj4+HikpaVh9uzZcHZ2BgDs2rULV69eBQD4+voiMDAQQ4YMQZ8+fcqVo00b/Pz8sGLFCkRGRiI8PBxCCGlcunbtih07diAmJgb79++Hr68vdu7cCV9fX+zduxfNmjXD4sWL8fzzz2Px4sU4ffo0rK2tsWbNGo1TYXFxcfjyyy9x48YN9OjRA4sXL4aNjY00fffu3bh79y5iYmKQkJCAjz76CP/617+kug8cOIB169bh+++/R1xcHPbv34+2bdvW2dipHT58GFevXkVJSQlCQ0M11rmq1oHajtvjjndlY6nN+nDmzBlcunQJAPDDDz/gqaeewuLFixEbGwsvLy+YmJjg6tWruHz5Mq5du4annnqq3HgVFxfDz88Pvr6+aNWqFV577TV8//33SE9Px8CBA7FgwQKYmpoCAPLz87F582bk5ubi5s2bUCqV+OKLL+Do6Ihr167Bx8cHN27cwOLFizF79mxYWVlh9+7dFS6n6OhorF69GpaWlrh//z7y8/PLTc/JycHSpUthZmaGnJwchISE4JNPPsGgQYNw584dHD58GMXFxThw4ACCg4Px//7f/0O7du3www8/oKioCHp6erh06RLGjx+PkSNHAgAePHggjdGdO3dw7NgxrF+/Hi+99BKAh6duDh48iKysLISGhqJPnz6YM2cOcnJy4Ovri+zsbPj5+SElJQXvvPMOXnjhhQr7ViHdHnRUrLLTO2ojRowQDg4O4ubNmyIpKUn89NNPwsHBQQQEBAghhEhKShIjRoyQ8sfExJQrb968eeVOz0RFRYmpU6cKBwcHsWHDBnH06FExf/58kZqaKvbv3y8cHBzKHYrNmzdPODs7ixUrVohz586JjRs3iq5du4ox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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    "\n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"comments_no\"], ax=ax_box, palette=\"Reds\")\n",
    "sns.distplot(df[\"comments_no\"], ax=ax_hist, bins=500, kde=False, color=\"r\")\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of number of comments per dataset', fontsize=18)\n",
    "ax_hist.set_xlabel(\"Number of comments\", fontsize=12)\n",
    "#plt.xscale('log')\n",
    "plt.xlim(0, 1200)\n",
    "plt.show()\n",
    "\n",
    "f.tight_layout()\n",
    "\n",
    "if not os.path.exists('plots'):\n",
    "        os.makedirs('plots')\n",
    "f.savefig(\"plots/no_of_comments.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZgAAAEaCAYAAAAsQ0GGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi40LCBodHRwOi8vbWF0cGxvdGxpYi5vcmcv7US4rQAAIABJREFUeJzt3XlAVOXeB/DvADJCCoKAQgKJiqIpJrmgIJYtt8w0zet171rhUlku5b2Z5muWlktexdywK6mYgrjdzKsmiIq4sLmAEKiAgCiL7CADz/sHd0ZgBhyWIyN8P/8oz5xn+82Z+Z1tzpEJIQSIiIgamV5TD4CIiJonJhgiIpIEEwwREUmCCYaIiCTBBENERJJggiEiIknUmmDCwsKwZMkSdO/eHS+88ALee+89zJ8/Hx9++CFGjx6Nr776CjExMRrrubi4ICwsrNEHnJycjAEDBuDo0aMAgEuXLmHhwoUYMWJEo/cFAAUFBXB3d4e3t7ck7ddXaWkpfvrpJyxduhQvv/wyPvvsM+Tk5DT1sFSio6OxbNkyDBgwoKmHokbXY0d1l5GRgRUrVuCLL76Au7s71q1bh5kzZ2LmzJkAACEEzp07h08//RTvv/9+g/qS6vstKSkJa9euhZubG+7cudOobTeVWhOMi4sLFi5cCAAYPnw4duzYgTVr1mDbtm3YtGkT0tLS8O6778LHx6dKPSsrKwwePBhWVlZaD+T69etaLWdiYgJXV1d06tQJAGBpaYmEhAQUFRVp3VddxiGXyzF48GB07dq1UdpvLN999x2Ki4uxdOlSbN68GRcvXkRERERTD0vFxMQE6enpOvnFreuxa2rJycnIzc1t6mForaysDNOnT4e7uzt++OEHLFiwALt370bv3r3Rr18/AIBMJoOFhQUiIiLw8OHDBvVXn+83bcjlchQWFuL+/ft1qldaWorY2NhGHcvjaPt9DaEFR0dHMX/+fLXyhw8fivHjx4sePXqIc+fOadOURgUFBWLKlCn1rr9gwQLx0ksv1bu+kkKhEOPHj29wO1IrKSkRvXv3Fvv27WvqodTqxx9/FI6Ojk09jCqeltg1pTlz5ojk5OSmHobWLl26JBwdHcXt27cfu+yECRPE5MmTn8Co6sfPz084OjrWKf67du0S+/fvl3BUVQUFBYn169drtWyDzsG0atUKX3zxBcrLy/HTTz/Vq43i4mJ8+umnDdol1NfXr3ddpbKyMixZsuSp2JLNyspCSUlJo8xbSro4vqcldk3Fy8sLx44da+ph1ElKSgoA7dY3XX/f9fTq9pV89uxZrFixQqLRqIuJicGCBQu0Xt6goR3269cP5ubmuHTpEh48eICysjIEBATA398fy5Ytw8CBAwEAR44cQWxsLBQKBf7zn/+gX79+WL9+PX799VckJSUhOzsbS5YsQefOneHq6gp/f38cOXIEv/76Kz7++GOUlZXBz88Phw8fhr+/P6ZMmYIxY8aoTX7RokVITEzEkCFDsHTpUpibm+Pw4cP44YcfYGhoiFOnTqGwsBD79+/Hd999h1GjRmHlypU4cuSI6nzSkiVLYGZmhtmzZ+P333+Hn58fXF1d8fHHH6v6On78OIKDg9G6dWtcuXIF/fv3x5w5cyCXy3H79m3s378fBw8ehI+PD/bt2wd/f3+Ym5tj/fr16NGjR43xfPDgAby8vNCqVSukpKQgMzMT8+bNg4uLCwBg9+7duHz5MgAgICAAYWFhGDlyJAYNGlSlHW3GEBgYiNWrVyM+Ph6xsbEQQqji0qtXL+zcuRNJSUnYv38/AgICsGvXLgQEBGDv3r1o3bo1li1bhueffx7Lli1DUFAQbGxssH79erXDiXfu3MGXX36Jq1evom/fvli2bBlsbW1Vr/v6+uLWrVtISkpCamoqPvroI/zlL39R9X3gwAF4eXnhu+++w507d7B//3506NBBstgpHT58GJcvX0ZZWRmio6PV1rna1oH6xq2h8a4pltqsD6dPn8aFCxcAAD/++COeeeYZLFu2DMnJyfDx8UHbtm1x+fJlXLx4EeHh4XjmmWeqxKu0tBSBgYEICAhA+/bt8dprr+G7775DVlYWhg0bhsWLF8PExAQAUFhYiK1btyI/Px/Xrl2DXC7HP/7xDzg5OSE8PBz+/v64evUqli1bhnnz5sHa2hq+vr5q79Hy5ctx48YNAMCaNWtgbGyMOXPmICEhAfv27UNeXh62b9+u8f1VCgkJwalTp5CVlYUbN27gzTffxOzZszV+2WdmZqp9v126dAkBAQG4evUqtm/fjqVLl+L8+fNwdnbGxo0b0aZNmxr7TkxMxLp162BhYYF79+6hsLCwyut5eXlYuXIlTE1NkZeXh6ioKHz66acYPnw4bt68icOHD6O0tBQHDhxAZGQk/v73v+PZZ5/Fjz/+iJKSEujp6eHChQuYOnUqxo0bBwB4+PCh6v29efMmjh07ho0bN+Kll14CUHH46+DBg8jJyUF0dDQGDRqE+fPnIy8vDwEBAcjNzUVgYCDu37+Pd955By+88ELNwdVmN6emQ2RKY8eOFY6OjuLatWvi7t274qeffhKOjo4iNDRUCCHE3bt3xdixY1XLJyUlVWlv4cKFVQ5xJSQkiBkzZghHR0exadMmcfToUbFo0SKRkZEh9u/fLxwdHavsEi5cuFC4uLiI1atXi7Nnz4rNmzeLXr16iUmTJqmW+fzzz9UOo3l4eIiFCxeq/l6/fn2VQzp5eXkiODhYODo6VtklPHLkiBg9erQoLS0VQgiRmZkpBg0aJD755BMhhBDp6eli9erVwtHRUXzzzTciJiZGJCYmCldXVzFjxowa41hSUiJGjhwpjh07pirbsGGD6NWrl7h69aqqLDk5WS0G1Wk7hnXr1qkdxpo4caLqMEJycrJYsmSJcHR0FGvXrhU3btwQKSkp4vXXXxceHh5iw4YNIj4+Xty6dUu4ublVaVsZz5UrV4rTp0+L3bt3ixdeeEG8+uqroqSkRAghhJeXlzh69GiV+fbo0UNERESIpKQksXjxYuHo6CiWLVsmAgMDxeeffy5yc3MljZ0QQvj4+IhPP/1U9feaNWuEo6OjuH79uhDi8etAfePWkHjXFktt1wfl56vyIZoPP/xQxMTEqP6ePn26yM/PV4tZUVGRiI6OFs7OzmLMmDHC29tbxMXFqfpdsGCBatkZM2ao+lAoFGLatGli8ODBIi8vT8TExIh33nlHDBw4UHh7e4t9+/aJ77//vsb3StOYY2JihJubm9rhsMmTJ1cpCw0NFd98843q7wsXLghHR0exdetWjX1p+n5LTU0VEyZMEAMGDBBbtmwRaWlpIigoSDg6Ooqff/65xnHfu3dPDBkyRFy4cEEIIURZWZmYNm1albl8+eWXVQ7bf/bZZ2Lw4MGqvzWtzxs3bhRDhgxR/b1q1Srh5OQkCgoKhBBCbNu2TezYsUP1+qZNm8SpU6eEEELEx8eLzz77TJSXlwshhEhMTBQ9e/YUX3/9tWr56t+HtWnwHgxQcQINAMrLy9GhQwc4OztXeT0rKwvR0dHYt28f3n33Xdja2uLdd9+tsT0HBwc4OTkhMDAQkyZNQtu2bfHGG28AgGprtDoTExPMnz8fADBkyBAUFRVh06ZNiImJgZOTk8atkcftjrZp0waurq5VysrKyrBq1SpMmDABBgYV4TM3N8d7772HtWvXqq4wsbe3BwBMmzZNtbX+4osv1noyLiAgAImJiXjllVdUZdOnT8cvv/yCNWvW4N///net463MyspKqzE8Li6dOnXC888/DwAYN26c6uKK4cOHw9vbu8peXf/+/TWe/FNeKAJUHFb96quvEBwcDDc3N2zbtg3Tpk1DfHw8ACAnJwcvvvgibt++jb59+6JPnz7Yu3cvxo0bhx49emDYsGEa59uYsSsuLsa6deuwZcsWVdnkyZNhbm4OOzs7rdeB+sStvvEuLi5+bCzrs04CQHp6OjZs2IBvvvkG5ubm+Oijj9CqVSu15Vq3bg0nJyeYmZnB1tZWdbXW/PnzERoaisOHD2PRokX4888/ER0djQMHDqjqWllZoaysDCkpKejRowe6du2K1NRUTJs2TRXjuujRo4cqdrXZuHEjrKyssGHDBgAV32EDBgxAZmamxuU1fb9ZW1ujU6dOSE1NhaenJwCgY8eOaNeuHW7evFlj3xs2bIClpaXqSks9PT28/vrrOH/+vGoZFxeXKt957du3R1ZWVq1z6tWrF6ZNm1alTllZGXJycmBsbIz09HScOXMGrq6ucHR0xIQJE5CamgoA8Pb2RmFhIby8vFT1Bw4ciLy8vFr7rEmjJJjU1FTo6enBzs4OgPpxTicnJ4waNQqLFy/G9u3b8f7772Ps2LG1tqn8kmvbtm2Vcm2Pob700kvYtGkTbt++DScnJ22noqb6yp2QkIC7d++qjatv374AgKioKLi4uKjGr0y+AGBsbIzS0tIa+woJCYGxsXGVORobG6N79+6Iioqq89jrMwZNNMW8devWamWGhoaPbVu5G3779m107NgRRUVFmDRpUo1X5CjnUNthBqBxY/fnn3+ioKAAZmZmqjIrKyu89957AIC4uDit1oH6xq0+9eLj47WOZV3Xh7lz52Lu3Ll4+eWXMWbMGMyYMQOGhoY1Li+TydTG6+HhgStXruD27du4evUqjIyM8Mknn9TYhp6eHoyNjeuVXJS0qXv16lV88803eOutt7RuV9P7o6enp7ax9swzz9Qa2z/++EN1lZuSXC6v8veYMWOQn5+PX375BZmZmbhz5w7Ky8trHZ+HhwdcXV3h5+eH5ORk3L17F0DFxjEATJ06FYGBgRg1ahSGDRuG2bNno3fv3gCAa9eu4a233sKMGTNq7UNbDf6h5dWrV5GRkYH+/fvD1NS0xuVWrFiBX375Bebm5li8eDE8PT0hJHxSgLGxcZV/G4tyzPfu3atSbmlpCUC7lbq2th88eKB2GaWlpWWD2tUlld8XhUIBALhy5Yraco/bSquuMWOnfI///PNPtddyc3MlXQfqqzFjWd2wYcNw/PhxjBkzBn5+fhg5cqTG2NSmffv2ACq+QBUKheocWWVlZWV48OBBg8ZaVwqFQuMGSENjpo2CgoLHzjcsLAxTpkxB//79MXfuXPTq1eux7SYkJGD8+PHo1KkT5s2bp3aO0dbWFr/99hs+//xzREZG4q9//SsOHToEoOI8WmPGo0EJpry8HKtXr4aBgQHmzZtX43J//vknEhISMHDgQOzZswf//Oc/cfbsWdVJ9cpbVI3l1q1baNOmjWr30tDQEMXFxWrjr7w1oM04OnfujHbt2uHs2bNVyrOzswEAQ4cOrfeYX3jhBZSXlyMkJESt7Ya0Wxvllmjl2JSVlT12K6m+bt26BX19fbi5uaFLly5o1aoV/vWvf1X5HVN8fDxCQ0Pr1G5jxs7BwQGGhobYsWNHlTjcuHEDYWFhkq4D9dVYsdT0GTh27BgsLS2xZMkSHDx4EAYGBti7d2+t7Si3lpXS09NhZmaGbt26oXv37igtLcXatWurLBMQEKD2GZVa9+7dsW/fPty+fVtVVlRUhP3790ved5cuXXDt2jWNX97KjZj58+dj0KBBNR6F0fR+LVmyBLa2tmqH95WOHTsGuVyO6dOn4/jx43BxcVFdCNG9e3ecOnVKdTEMUPFe7tmzp87zA7RIMNWvalDKysrCZ599hoiICKxatUp1eEA5IACqD2dBQQE2bNigCtro0aNhZGQEGxsbABW7kpmZmcjIyMCJEyeq1C0pKanSr7Lt6itwQUGBaouopKQE27dvx6JFi1SHVp577jlkZmbi8OHDiI6OhpeXF4qKinDz5k0kJCSoxgFUJMSTJ0+irKxMtWWo7M/Q0BCfffYZrl27hj/++EPV/6FDhzBx4kQ899xzAB5tUVbfS1OWazJhwgTY2tpi8+bNqi3xlJQUxMTEYM6cOarllDGp6b2p3ldtY1COd9euXYiLi8PWrVtx79493LlzB7GxsSgvL1d7Pyv/v3KZEELtfQEqfqGsXHbTpk2YPXs27Ozs0LZtW0yePBlxcXH461//ih07dmDLli1YsWKF6lxKTetBdY0ZuzZt2mDq1KmIjIzEhx9+iIMHD2LTpk1Ys2YN3NzctF4H6hu3+tTTJpbarA/Kz0B8fDzOnTuHvLw8+Pj4qI7Rd+nSBX369EGXLl1qjB8AxMbGqsZWUlKCw4cPY+7cuTAwMIC7uzt69+4Nf39/eHp6Ys+ePVi5ciViY2PRsWNH1Twf954rKZNS9fdUoVCorY/Vy2bNmoXi4mKMHz8eXl5e2LlzJzw9PfHaa6/V2J+m96e0tFTjRlltn/eZM2eisLAQn3/+Oe7fv4/8/HycO3cOABAeHo7MzEwUFxfjzJkzSEhIQFBQkOr1qKgoxMbGqo4IxMfH486dO7h69SqKi4sRHh6O69ev4+LFi/j9998BVBzajYqKwvnz5xEUFASgYr0ZPny46v384IMPYGBggA8++ACrVq2Cr68vPD09VVcDAxXrSEJCArKysh678aK/dOnSpTW9GBYWhu3bt+P69etIT09HeHg4QkND8dtvv2Hfvn1wdHTEqlWrqhxHTExMxLZt25CQkIDi4mL07NkTxcXFWLFiBQIDA5GSkoLAwEDMnTtXdXllhw4dcOrUKQQEBGDUqFG4efMmfHx8kJWVhezsbDg6OsLExAT37t3D1q1bce3aNeTn56Nnz56wsLBAz549kZubC29vb1y8eBFBQUGYNGmS6sIAAOjWrRuuXbuG3bt3IzU1FZ988gmOHz8OJycndOnSBTY2NrCxsUFISAh+/fVXDBs2DB06dMC2bdtw6dIl5Obmonv37rCxsUHv3r1hZWWFrVu3IiwsDGfOnIGtrS3mzp0LmUyG69evY/v27UhNTUV5eTkcHBxw+fJl7NmzB+np6WjXrh26d++udiilVatWeOWVVxAREQEfHx9ER0fj/PnzWLZsGRwcHABUHALZuHEjbt68ifv378PU1BQdOnRQO3ar7Ri6dOmCxMRE7NmzB9HR0fjwww8RFRUFOzs72NnZoaCgAN7e3lXauXbtmur90dPTQ+fOnREUFIS9e/fi3r17MDU1hZOTE3r06AF9fX1s2bIFoaGhCAoKwrBhwzB16lTVOAcPHgw9PT2EhYXh3LlzMDAwwPLly2FiYoLIyEjVHDIyMtCtWzeYm5trXFcbM3YA4OrqCj09PQQFBSEoKAimpqb4v//7P9UGizbrwLZt2+ocNwBq75u28XZ3d68xltquD88++ywiIyOxd+9e9OzZEy4uLvD29sa///1vpKamIjw8HB07dsT06dNr3OP38fGBsbGx6gttz549GDt2LMaPHw+gYqv7tddew/3793Hu3DlERETA0dERCxYsgL6+Po4dOwZfX1/cv38fQgh069YNRkZGGvs6efIkvL29kZmZiZycHBgaGqJz5844fPgw/Pz8kJGRARsbG3Tv3r1KmaWlpWr9V343BAYGIjMzEwsXLqzxpwSavt/Cw8Oxa9cuZGRkwNTUFM8++ywOHDiAY8eOISsrC/b29qp1sLIuXbqgQ4cOOHHiBDZv3ozY2Fg4OTmpvvN69eqFZ599FsePH8fRo0fRuXNnDB8+HKdOnYK+vj5Gjx4NY2Nj5OTkwM/PD3l5eRg3bhxsbW0RGBiIgwcPom3btvjb3/6Go0eP4uHDhxg/fjzOnDmD1atXIyEhAXFxcUhLS8M//vEPtG7dGh06dICLiwtu3LiBU6dO4c6dO5gxYwaGDBmiGrdMJsOBAwcQFxeHqVOnarzgQ7WskPJECBG1OC+//DIGDBiAlStXNvVQqInxbspERCQJJhgialQKhaLOl8JT88QEQ0SNIjMzE97e3rh//z7Onz+vuvSVWi6egyEiIkno5K/3wsPDa7xqpKUpKSnReJVTS8RYVGAcHmEsHikpKanycxFdoJMJRiaTNej2Ls2J8l5qxFgoMQ6PMBaPaHq6cFPTyQTTEL6+vkhOTpasfeUTGmu7LU5jKiwsbPTb3dja2mLixImN2iYRUXXNLsEkJycjMe4GOko0s+z//TC3dWaaNB1Uow9Au98za+duzT8sJiJqVM0uwQBARwPgA7PHL1cf3hW3m5Ksfakpx09EJDVepkxERJJggiEiIkkwwRARkSR0MsFUfp4FUUt27tw51S3aiZ42OnmSnwmGqILyoWaVb5dO9LTQyT0YIiJ6+unkHgwRPaJQKLB8+XIoFArIZDIUFRXByMgIDx8+RFpaGkaMGIHffvsNVlZW0NPTQ3p6Ojp27AgjIyN88sknyMnJwcqVK9GhQwe8++678PLyghACHTt2xNy5cyGEwKpVq5CWloZZs2ahW7du2Lx5MyZOnAhfX1/MmjULQghs3rwZI0eOxMaNG2FlZaWqu27dOty7dw8fffQRDhw4gKKiIqSlpaFjx46Qy+XQ19fHO++8Ay8vLwDAxx9/jCNHjmDgwIHYuXMnrK2t8cUXX8DU1BQPHjyAl5eXaq5lZWXIyMjAP//5T9ja2mqMj7KOTCbDxx9/rBrrrFmzqsz973//O3x9fVXzmjhxIn755RdVPWX/let+//33mD17Ng4cOAAAVeJpYWEBPT09tGrVClOmTFHFSvkjbGVbj+un8vJeXl4oKyuDEAIGBgaYOnWqWrvV21bOJS0tTefualDrEy2byq1btzQ+AU4b586dQ1l2BvpJdCuz8P89Mlyq9qUWXgwYmFnAzc2tqYdSZ8onEbYk586dw71793D37l3k5OQgJycHBQUFyMnJQX5+PoCKR3wDFY8NV5bl5+cjOzsbDx8+xPHjx5GdnY2cnBxERUWhuLgYZWVlyMnJwcOHDxEXF4erV68CACIiIlBSUoLw8HDExcUhMTERJSUliIuLQ3h4OCIjI1FUVFSlblRUFBQKBaKionDv3r0qY8jJyUF2dnaVfqOiopCeno6oqCjVcg8fPoSzszP8/PwQERGhmmtubi4UCgXi4uLw8ssvq8UnIyMDQUFBiIiIUM1XOdaSkpIqc1fOp/K/SUlJqnrK/qvXVc6rejxzc3NV86scK2dnZwBQtfW4fiovX3nuNbVbvW3lXGxsbNCtWzcpVsN64x4MkQ5TKBTIzc2td/3g4OAqz6Cv/tz606dPV3n0cVlZGYKDgyGEQGpqKgDgzJkzAAAhRJX6yuVqaruyyq9pWu706dPw8PBQ9VVdamoqkpOT1fZi8vPzq9SpPNYzZ85AoVBUaUPTv0DFuS4PDw+cPXtWrW7l8Z4+fRrl5eUax6ds5+2334YQQtVWbf1UXl7T3Ku3q9z7qd525T50iU4mmNLSUnz//ff1qpuUlIRn1N9/+p/8ciA9Kane8W1KUtyXTdfdvn0bDXmiRuXkoommL8vqdZSHq+radl2Ul5dj69attba5ZcsWLF++vErZ+fPnqySRymOtXP44CoUCW7duVcWjprqa4lX99cOHD9e4bPV+Ki9f23iVy02ZMgVHjhx57Dh0hU4mGCKq0Jhf4g3xJB4b9bitcE2vR0dHq5XVZ6zV9zTqq6ysDOfPn1f9/3H9VF5em3anTJmC8+fP68x68Tg6mWBatWqFhQsX1qvu999/j5KbNxp5RM1HGz2gvZ1dvePblFrirdnnzp2ruoN3U5LJZJInGRsbG6SlpdXYj42NjVpZz549ERkZWaWsPmOVyWSwtrZGenp6g7689fX14erqCkD98KSmfiovHxgYqFW7rq6uGtvWRbxMmUiHWVhYaDw8pS19ff1aX9fT01NbpvrfBgYGGtvR19eHnl7jfIXo6enB09Oz1vHOmDFDrczV1RUGBo+2kyuPtXL54xgYGMDT01M1n5rqPm6+enp6ePvttzFy5EiNy1bvp/LytY1XuRyAGtvWRU/HKIlaKAMDA5iYmNS7/tChQ6ts+Vc/h+Xh4YGhQ4eq/tbX18fQoUMhk8lgY2MDmUwGd3d3uLu7QyaTVak/dOhQeHh41Nh2ZZVfMzY2VkuaHh4esLOzg7u7u8b6NjY2Gi9TbtOmTZU6lcfq7u5eZe7K+VT+V8nNzQ12dnZwc3NTq1t57B4eHhr3pJRturm5wdTUFO3atVO1VVs/lZfXNPfq7QJQa7t6H7qECYZIx1lYWMDBwQF2dnawt7eHlZUV7O3tYW1tDQAYMWIEAMDKygodO3ZUHYZxcHDA22+/DU9PT7Ru3Rr29vaYNWsW5HI5DA0NYWdnp9p6Vrbl6emJkSNHolu3bvD09ES3bt1Uy3Tr1g2zZs1C69atq9S1s7ND69atMWvWLDg4OKja6tixI+zt7eHg4KDqVy6Xq35rM2XKFACAtbV1la3zynPt1KkTWrdurXHvRUlZp0uXLlXGWn3uyvlU/rdyPWVblesaGRmp5lU9np06dYKdnR26dOlSJVaVx6VNP9XnYW9vDzs7Ozg4OGhst3rbyn918dHRMvEkzt7V0R9//IHhw4fXq67yHAyfB6OZdzYgd+jBczBPCeXVfpXfr5YYh5owFo/oYix08iS/kdFT+itGokb2NP4glkiJCYZIh/Eml/Q04zkYIiKSBBMMERFJggmGiIgkoZPnYBrqruLR1V6NLe1/twuSqn2p3VUA9k09CCJqEZpdgqnpmRGNxex/t+2QV3o2g5Qa+waP9pA+RkREQDNMMBMnTmzqITQqXby2nYhIGzwHQ0REktDJX/JHRkbq5G0PiIh0VUlJCfr27dvUw6hCJxMMERE9/XiIjIiIJMEEQ0REkmCCISIiSTDBEBGRJJhgiIhIEkwwREQkCSYYIiKSBBMMERFJggmGiIgkwQRDRESSYIIhIiJJMMEQEZEkmGCIiEgSTDBERCQJJhgiIpIEEwwREUmCCYaIiCTBBENERJIwaOoBaBIeHg4jI6OmHoZOKCkpgVwub+ph6ATGogLj8Ahj8UhJSQn69u3b1MOoQicTjEwmg5OTU1MPQyfExMQwFv/DWFRgHB5hLB6JiYlp6iGo4SEyIiKSBBMMERFJggmGiIgkwQRDRESSYIIhIiJJMMEQEZEkdPIyZX0ASEzUvoKJCWBmJtVwiIioHnQywcjKy4H//lf7Cq+/zgRDRKRjeIiMiIgkwQRDRESSYIIhIiJJMMEQEZGahqpUAAAVXUlEQVQkGiXBJCQkwNPTEwDw888/4+DBg9i1a5fqdU1lRETUvDU4wTx8+BDnzp1DUVERLl++jAcPHmD06NHIyclBVFSUxjIiImr+GnyZ8v79+zFu3DicOHECwcHBcHBwAAB07doVp0+fhkKhUCtzdnautU0hBNLS0rQeQ6uMDNwvLKz/JHRYcXGxTt6GuykwFhUYh0cYC93WoAQTEhKCF198UfVwsOzsbJiamgIA5HI5MjIyIIRQK3scmUwGa2tr7QdiYQELe/u6T+ApwOddPMJYVGAcHmEsHtHFRNugBLNv3z5kZmYCqJjcxYsX4erqCgAoKChAu3btIJPJUFRUVKWMiIiavwadg1m3bh127tyJnTt3wsnJCb6+voiNjQUAxMfHw93dHUOHDlUrIyKi5q9RL1N2cXGBXC6Hv78/TExM0L9/f41lRETU/DXavch27twJAJg9e7baa5rKiIioeeMPLYmISBJMMEREJAkmGCIikgQTDBERSYIJhoiIJMEEQ0REkmCCISIiSTDBEBGRJJhgiIhIEkwwREQkCSYYIiKSBBMMERFJggmGiIgkwQRDRESSYIIhIiJJMMEQEZEkGu2BY01KoQASE+tWx8QEMDOTZjxERNRMEkxBARAaWrc6r7/OBENEJCEeIiMiIkkwwRARkSSYYIiISBJMMEREJAkmGCIikgQTDBERSYIJhoiIJMEEQ0REkmCCISIiSTDBEBGRJJhgiIhIEkwwREQkiQbd7PLBgwdYuXIlrl27htmzZ+PNN9/Ezz//DHNzc+Tn52Py5MkAoLGMiIiatwbtwWRlZeG7777D9u3bcfToUVy+fBkPHjzA6NGjkZOTg6ioKI1lRETU/DVoD8bBwQEAcPfuXUyZMgXBwcGqsq5du+L06dNQKBRqZc7OzrW2K4RAWlqa1uMwKSxEbh2WB4BWGRm4X1hYpzpNobi4GDExMU09DJ3AWFRgHB5hLHRbg58Hk5ycjNWrV8Pc3BwmJiYwNTUFAMjlcmRkZEAIoVb2ODKZDNbW1toPwtgYz9RleQCwsICFvX3d6jSBmJgYODk5NfUwdAJjUYFxeISxeEQXE22DT/Lb2trCx8cHCQkJMDAwQFFREQCgoKAA7dq1g7m5uVoZERE1f41yFZmenh6cnZ3x1ltvITY2FgAQHx8Pd3d3DB06VK2MiIiavwYdItuxYwcSEhLQr18/jB8/Hn369MGFCxfg7+8PExMT9O/fHwA0lhERUfPWoATz3nvvqZXNnj1bqzIiImre+ENLIiKSBBMMERFJggmGiIgkwQRDRESSYIIhIiJJMMEQEZEkmGCIiEgSTDBERCQJJhgiIpIEEwwREUmCCYaIiCTBBENERJJggiEiIkkwwRARkSSYYIiISBJMMEREJIkGPXDsqaZQAImJdatjYgKYmUkzHiKiZqblJpiCAiA0tG51Xn+dCYaISEs8REZERJJggiEiIkkwwRARkSSYYIiISBJMMEREJAkmGCIikgQTDBERSYIJhoiIJMEEQ0REkmCCISIiSTDBEBGRJJhgiIhIEg262WV+fj6+/PJLXL9+He7u7li6dCn8/Pygp6eH7OxsTJ8+HXp6ehrLiIioeWvQN31UVBRWrlyJ//znPzh//jyuXLmCS5cuYezYsbCwsMCxY8dw584dtTIiImr+GrQHM2TIENX/HR0dERwcDHt7ewBA165dsXPnTuTl5amVvfnmm7W2K4RAWlqa1uMwKSxEbh2Wr2+dVhkZuF9YWKc6DVVcXIyYmJgn2qeuYiwqMA6PMBa6rVGeB5Ofnw9ra2sYGBigTZs2AAC5XI6MjAxkZ2fD1NS0StnjyGQyWFtbaz8AY2M8U5fl61vHwgIW/0uWT0pMTAycnJyeaJ+6irGowDg8wlg8oouJtlESzKFDhzBnzhwcPXoUOTk5AICCggK0a9cO5ubmamVPLT4Fk4hIaw1OMCdPnsQrr7yCNm3aYMiQIVi/fj0AID4+Hu7u7hgwYAD+9a9/VSl7avEpmEREWmtQgtm9eze2b9+Odu3aobS0FNOmTUPv3r3h5+eHjIwMeHp6Ql9fX62MiIiavwYlmEmTJmHSpEmPXW7y5MkN6YaIiJ5C/EEKERFJggmGiIgkwQRDRESSYIIhIiJJMMEQEZEkmGCIiEgSTDBERCQJJhgiIpIEEwwREUmiUW52SbXgDTKJqIVigpEab5BJRC0UD5EREZEkmGCIiEgSTDBERCQJJhgiIpIEEwwREUmCCYaIiCTBBENERJJggiEiIkkwwRARkSSYYIiISBJMMEREJAkmGCIikgQTDBERSYIJhoiIJMEEQ0REkmCCISIiSTDBEBGRJPhES11U6THLloWF2j1ymY9ZJiIdwwSjiyo9Zrk0LQ2wtn58neHDgdzcuvXDpEREEmpwgrl06RK8vLzg4+OD8vJy/PTTT7C1tUV5eTneeecdjWUkgUpJSWuvv84EQ0SSafA5mP79+6OkpAQAcOTIEVhaWmLUqFGIiIhAWlqaxjIiImr+GuUQWatWrQAAwcHBmDBhAgDgueeeQ0hICEJCQtTKxo4dW2t7Qog6JSKTwkLk1jFxPS11SktLtYpFffpplZGB+4WFdarTlIqLixETE9PUw2hyjMMjjIVua9RzMNnZ2TAxMQEAyOVyZGRkaCx7HJlMBmttzjsoGRvjmbos/xTVSUtL0y4W9enHwgIW9vZ1q9OEYmJi4OTk1NTDaHKMwyOMxSO6mGgb9TJlMzMzFBcXAwAKCgrQrl07jWVERNT8NWqC8fDwQGxsLADg1q1bGDx4sMYyIiJq/hqcYGJjY5GUlIS4uDiMGDECycnJ8Pf3R79+/WBra6uxjIiImr8Gn4Pp3r07Tp8+rfp73rx5VV7X19dXKyMiouaPt4ohIiJJMMEQEZEkmGCIiEgSTDBERCQJJhgiIpIEEwwREUmCt+tvySo9d0YrvL0/EdUBE0xLVtdb/PP2/kRUB0wwpL267vEA3OshasGYYEh7fKgZEdUBT/ITEZEkmGCIiEgSTDBERCQJnoMhafHCAKIWiwmGpMULA4haLB4iIyIiSTDBEBGRJHiIjHRPDedtLAsLaz6fw/M2RDqHCYZ0Tw3nbUrT0gBra811hg8HcnPr1g+TEpGkmGCoeeDFBEQ6h+dgiIhIEkwwREQkCR4iI5JSdjbPDVGLxQRDVBd1TRhFRUBwcN364LkhaiaYYKjlqs9tbOqaMAYNqlv7RM0IEwy1XPW58uxJJIzHJD6NvwfS1wfKyurWDw/FkcSYYIh0zWMSn8bfAw0axMu0SecwwRCR9upz0UJd9664Z9VsMMEQtVRP4hwUUPe9K+5ZNRtMMEQtla6eg6qPJ7FnVd86LXiP7IklmJ9//hnm5ubIz8/H5MmTn1S3RPS0qcOeleqChyexZ1XfOvW5T159EpkOeiIJ5vLly3jw4AGmT5+OjRs3IioqCs7Ozk+iayJ62tRhz0p1wYOu7lkB9d9TrGsdd/e6Lf8EyIQQQupO1q5dCwcHB4wePRr//e9/ERsbizlz5tS4fGRkJORyudTDIiJqNkpKStC3b9+mHkYVT2QPJjs7G6ampgAAuVyOjIyMWpfXtSAREVHdPZGbXZqbm6OoqAgAUFBQgHbt2j2JbomIqAk9kQQzdOhQxMbGAgDi4+PhroPHComIqHE9kQTj4uICuVwOf39/mJiYoH///k+iWyIiakJP5CQ/ERG1PHzgGBERSYIJhoiIJMEEQ0REktCpe5G19NvJ5Ofn48svv8T169fh7u6OpUuXws/PD3p6esjOzsb06dOhp9eytgkSEhLw/fffY+vWrS16/RBC4MCBA2jfvj169OiB3377rUXGoqioCFu2bEGvXr0QFRWFmTNn4vfff29Rn5FLly7By8sLPj4+KC8vx08//QRbW1uUl5fjnXfe0VjWVHTmnVDeTmb06NHIyclBVFRUUw/piYuKisLKlSvxn//8B+fPn8eVK1dw6dIljB07FhYWFjh27FhTD/GJevjwIc6dO4eioqIWv36sXr0avXv3hoeHB5KTk1tsLM6ePQszMzO8+uqrsLa2hr+/f4v7jPTv3x8lJSUAgCNHjsDS0hKjRo1CREQE0tLSNJY1FZ1JMMHBwXBwcAAAdO3aFadPn27iET15Q4YMgbGxMYyMjODo6Ijg4GDY29sDaJkx2b9/P8aNGwegZa8f4eHhuHLlCkJDQ7FmzZoWHYs+ffrA398fiYmJKCgogJ6eXov8jLRq1QpAxeeiS5cuAIDnnnsOISEhGsuais4kmLreTqY5y8/Ph7W1NQwMDFpsTEJCQvDiiy/CyMgIQMteP/744w+MHTsWU6ZMQU5ODn7++ecWG4sOHTpg6tSpWLx4Mdq3b4/CwsIWGwug4nNhYmIC4NH8NZU1FZ05B8PbyTxy6NAhzJkzB0ePHkVOTg6AlheTffv2ITMzEwAQExODixcvwtXVFUDLi0VJSQnatGkDABg2bBhKS0tb7GclOTkZ6enp8Pb2xvvvv4+BAwe22FgAgJmZGYqLiwE8mr+msqaiM3swvJ1MhZMnT+KVV15BmzZtMGTIEMTHxwNoeTFZt24ddu7ciZ07d8LJyQm+vr4tdv1wcXFBdHQ0AEChUMDOzq7FxiImJgampqYwNDTEtGnTAKDFfkYAwMPDQ7Uu3Lp1C4MHD9ZY1lT0ly5durTJeq/ExsYGERERSExMhEwmw4gRI5p6SE/c7t27sX79evzxxx/YtWsX2rdvj/bt2yM2NhYZGRmYOHFis79CRpMDBw7go48+arHrR7du3RAUFISioiKkpqZi2rRpuHLlSouMRadOnXDy5EkoFArEx8dj4sSJePDgQYv6jMTGxmLXrl0YMmQIBg4ciOPHjyMlJQXW1tZwdXVF165d1cqaCm8VQ0REkmjeqZ6IiJoMEwwREUmCCYaIiCTBBENERJJggiEiIkkwwZCkCgsLsXv3bvTp0wcnTpxQlefl5WHjxo2YM2cOUlJS6tX2w4cP4eXlhZkzZzbWcGt09OhReHt74+2330ZkZKTk/RE1B0wwJCljY2NMmjQJf/nLX/DVV1+pbrzXtm1bvP322/Dw8MCzzz5br7YNDQ3Rp08fFBQUNOaQ1Tx48AC7d+/GBx98gG+++QZyuVzS/qTg5+fX1EOgFogJhp4IW1tbDBw4EAsWLEBZWRkAQCaTQSaTNajdJ/Fln5CQoPrxnrOzM5ycnCTvszH5+fkhLCysqYdBLZDO/JKfmreLFy9i/vz58Pb2Rm5uLgYOHIjc3FxERkZi06ZNSEpKwvPPP4+vv/4aJ0+eRO/evbF06VJcu3YNp0+fxqJFi2BjY4NTp07hq6++QkZGBgYNGoSUlBSEhobiypUr+OKLL5CdnQ03NzcAwI4dOxAZGYm1a9eiT58+SElJwaeffoqsrCzMnz8fffr0gbW1dZUxHjx4EKGhoTh+/DgGDx6MlJQU+Pr6Ijo6GiUlJejWrVuVpHbhwgUcPXoUv/76K5KSktCvXz+kp6dj69atiImJgY+PD1xcXJCfn6/VfHbs2IHly5ejTZs2WLhwIc6fPw8LCwssXrwY27dvx8iRI2FoaIiIiAgcOnQIu3btQkZGBjp37oz169fjt99+Q1hYGBYtWoROnTrBwsICu3btws2bNyGTyWBvb49t27YhKioK3377LcaPH//E1wVqQQTRE7B+/XohhBBXrlwRffr0ERcvXhTJycli//79Yv369arX9+/fLxYuXCiEEOKHH34Q8+bNEwqFQhw6dEi89dZbIjc3V9y/f1/07dtXCCFEaGioeO2110RWVpaIj48Xzs7O4sKFCyIoKEh4e3sLIYTYtWuX+PDDD4UQQowdO1b88ssvIikpSRQWFqrGl5+fL959911RXl4uhBBi7ty5YvPmzao+Jk+erDan7OxsVfm9e/dU/58+fbpISUkRQgixZ88eMX36dK3nEx8fLwYNGiRSUlJEcXGx6Nu3rwgJCRFCCPH++++LY8eOiZKSEvHBBx8IIYTIzc0Vzs7O4u7du8LX11dMmDBBFBcXi8OHD4sZM2aoxfTo0aPC19dXCCHEgQMH6vdmEmmJh8joierduzfmzp2LBQsWqO4UXZPWrVvjueeeg76+Pjp06IB27dqhbdu2sLCwQGFhoWo5KysrmJmZoUuXLnB3d8e1a9cQGhqKjIwMBAQEoKCgAJaWlgCgetaOra2t6lEAQMWeiLGxseqQ3UsvvYRTp07VOr6IiAhVu5aWlti5cyfy8/MRGhoKGxsbVTshISEoLi7Waj5yuRxGRkawsbGBXC6HmZkZbG1tAUC13O3bt5GTk4OAgACcOHECw4YNQ3Z2NuRyOezs7CCXy2FlZaXx3NTzzz+PDRs24KuvvmrSmyBSy8AEQ0/ce++9h169emHJkiUA0ODzMJUZGRnBzMwMCoUC9vb2GDNmDDw9PfH111/XWk8IoXo8AFBxG3QDg9qfZlFWVobbt2+r/i4oKIAQAgqFAllZWap29PT0Gu0GjEIIlJWVQSaTYcyYMRgzZgzWrVunegDZ49jY2ODQoUMoKirCmDFjkJub2yjjItKECYaeCIVCUeXvFStWIDs7GwDwzDPP4N69ewCAP//8U/UsC22J/92vVQiBpKQkuLu7Y8CAAdi0aRPCwsKQkZFR5Sqq8vJytTb69++P9PR03Lx5EwCQmJiIN998U9WupjrOzs6Ij49HQEAACgsLsXfvXrRt2xb9+/dXXZKdlJSE4cOHw9DQsE5zqo2DgwPu3LmD7du3Izs7G0eOHMH9+/drXF5PTw+lpaXIycnBiRMnYGRkhDVr1qB79+64c+dOo42LqDomGJLc9evXcerUKZw8eVJVZmpqirVr18LAwABvvPEGgoOD8cknn8DMzAwFBQW4cuUKIiMjcfXqVdy9exdnz55FcnIy4uPjVe2cOnUKXbt2hbm5OVasWAEvLy988cUXsLCwwKuvvooRI0Zg5syZ8PT0hJubG27cuIGkpCQcO3ZM7fCRiYkJVq9ejeXLl2P79u3IycnB3/72N+Tl5eG///0v4uPj1R49a2lpiW+//RZr167F2LFjMWDAAADAt99+i99//x0bN27E4cOH8fXXXyMrK0ur+QQGBiIrK0s1/6ysLAQGBiI5ORlxcXG4cOECFAoF1qxZg7179+KNN95ASUkJzMzMcPHiRcTFxSE5ORkhISFISkpCQkICnJ2dERYWpkqEnp6e2Lt3L/r06fPUXRFHTxferp+IiCTBPRgiIpIEEwwREUmCCYaIiCTBBENERJJggiEiIkkwwRARkSSYYIiISBJMMEREJIn/B5XUKXbZnbzzAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    "\n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"comments_no_files\"], ax=ax_box, palette=\"Reds\")\n",
    "sns.distplot(df[\"comments_no_files\"], ax=ax_hist, bins=500, kde=False, color=\"r\")\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of number of comments per file in dataset', fontsize=18)\n",
    "ax_hist.set_xlabel(\"Number of comments\", fontsize=12)\n",
    "#plt.xscale('log')\n",
    "plt.xlim(0, 100)\n",
    "plt.show()\n",
    "\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/no_of_comments_file.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    " \n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"dependen_no\"], ax=ax_box)\n",
    "sns.distplot(df[\"dependen_no\"], ax=ax_hist, kde=False)\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of dependencies count per dataset', fontsize=20)\n",
    "ax_hist.set(xlabel=\"Number of dependencies\")\n",
    "#plt.xscale('log')\n",
    "plt.xlim(0, 200)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    " \n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"unique_libs_no\"], ax=ax_box)\n",
    "sns.distplot(df[\"unique_libs_no\"], ax=ax_hist, bins=90, kde=False)\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of unique dependencies per dataset', fontsize=18)\n",
    "ax_hist.set_xlabel(\"Number of dependencies\", fontsize=12)\n",
    "#plt.xscale('log')\n",
    "plt.xlim(0, 50)\n",
    "plt.show()\n",
    "\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/unique_deps.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    " \n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"sizeMB\"], ax=ax_box, color=\"g\")\n",
    "sns.distplot(df[\"sizeMB\"], ax=ax_hist, bins=800, kde=False, color=\"g\")\n",
    "sns.set_context(\"paper\")\n",
    "\n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of dataset sizes', fontsize=18)\n",
    "ax_hist.set_xlabel(\"Size [MB]\", fontsize=12)\n",
    "#plt.xscale('log')\n",
    "plt.xlim(0, 80)\n",
    "plt.show()\n",
    "\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/ds_size.pdf\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.24"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"sizeMB\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "92.30558584409373"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"sizeMB\"].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    " \n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"files_count\"], ax=ax_box)\n",
    "sns.distplot(df[\"files_count\"], ax=ax_hist, bins=230, kde=False)\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of number of files per dataset',fontsize=20)\n",
    "ax_hist.set_xlabel(\"Number of files per replication dataset\",fontsize=16)\n",
    "plt.xlim(0, 100)\n",
    "plt.show()\n",
    "\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/files_no.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>list_of_all</th>\n",
       "      <th>comments_no</th>\n",
       "      <th>dependen_no</th>\n",
       "      <th>list_of_libs</th>\n",
       "      <th>total_size</th>\n",
       "      <th>sizeMB</th>\n",
       "      <th>files_count</th>\n",
       "      <th>docs</th>\n",
       "      <th>r_file</th>\n",
       "      <th>...</th>\n",
       "      <th>wflow_lib</th>\n",
       "      <th>dockerfile</th>\n",
       "      <th>space</th>\n",
       "      <th>other_code</th>\n",
       "      <th>rmd</th>\n",
       "      <th>rproj</th>\n",
       "      <th>rnw</th>\n",
       "      <th>comments_no_files</th>\n",
       "      <th>avg_file_len</th>\n",
       "      <th>unique_libs_no</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/XFQZI2</td>\n",
       "      <td>FigureA2data.dta;Readme.rtf;Condemnation.dta;C...</td>\n",
       "      <td>71</td>\n",
       "      <td>10</td>\n",
       "      <td>rms;xtable;readstata13;Matching;foreign</td>\n",
       "      <td>411332</td>\n",
       "      <td>0.41</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10.142857</td>\n",
       "      <td>10.43</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>campaign_effects_replication.do;replication_da...</td>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>ggplot2</td>\n",
       "      <td>12105318</td>\n",
       "      <td>12.11</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.666667</td>\n",
       "      <td>28.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>fig_10_effect_of_winning_on_gov.R;tab_8_campai...</td>\n",
       "      <td>194</td>\n",
       "      <td>111</td>\n",
       "      <td>ggplot2;lm_2008;lm_2004;character.only=TRUE;li...</td>\n",
       "      <td>2959665</td>\n",
       "      <td>2.96</td>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.705882</td>\n",
       "      <td>24.03</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>sponsorship_1_v3_November+6%2C+2017_12.32.csv;...</td>\n",
       "      <td>168</td>\n",
       "      <td>21</td>\n",
       "      <td>sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...</td>\n",
       "      <td>5350420</td>\n",
       "      <td>5.35</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.923077</td>\n",
       "      <td>28.62</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/JXXNDO</td>\n",
       "      <td>wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...</td>\n",
       "      <td>140</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>1402185</td>\n",
       "      <td>1.40</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.727273</td>\n",
       "      <td>12.73</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi                                        list_of_all  \\\n",
       "0  doi:10.7910/DVN/XFQZI2  FigureA2data.dta;Readme.rtf;Condemnation.dta;C...   \n",
       "1  doi:10.7910/DVN/WGPDBS  campaign_effects_replication.do;replication_da...   \n",
       "2  doi:10.7910/DVN/BPON3K  fig_10_effect_of_winning_on_gov.R;tab_8_campai...   \n",
       "3  doi:10.7910/DVN/ZWAGXZ  sponsorship_1_v3_November+6%2C+2017_12.32.csv;...   \n",
       "4  doi:10.7910/DVN/JXXNDO  wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...   \n",
       "\n",
       "   comments_no  dependen_no  \\\n",
       "0           71           10   \n",
       "1           17            1   \n",
       "2          194          111   \n",
       "3          168           21   \n",
       "4          140            0   \n",
       "\n",
       "                                        list_of_libs  total_size  sizeMB  \\\n",
       "0            rms;xtable;readstata13;Matching;foreign      411332    0.41   \n",
       "1                                            ggplot2    12105318   12.11   \n",
       "2  ggplot2;lm_2008;lm_2004;character.only=TRUE;li...     2959665    2.96   \n",
       "3  sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...     5350420    5.35   \n",
       "4                                                        1402185    1.40   \n",
       "\n",
       "   files_count  docs  r_file  ...  wflow_lib  dockerfile  space  other_code  \\\n",
       "0            7     1       1  ...          0           0      0           1   \n",
       "1            3     0       1  ...          0           0      0           1   \n",
       "2           34     1      26  ...          0           0      0           0   \n",
       "3           13     1       6  ...          0           0      1           0   \n",
       "4           11     1       2  ...          0           0      0           0   \n",
       "\n",
       "   rmd  rproj  rnw  comments_no_files  avg_file_len  unique_libs_no  \n",
       "0    0      0    0          10.142857         10.43               5  \n",
       "1    0      0    0           5.666667         28.00               1  \n",
       "2    0      0    0           5.705882         24.03              22  \n",
       "3    0      0    0          12.923077         28.62               9  \n",
       "4    0      0    0          12.727273         12.73               0  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    " \n",
    "b = range(df[\"r_file\"].max())\n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"r_file\"], ax=ax_box)\n",
    "sns.distplot(df[\"r_file\"], ax=ax_hist, bins=b, kde=False)\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of number of R files per dataset',fontsize=20)\n",
    "ax_hist.set_xlabel(\"Number of R files per replication dataset\",fontsize=16)\n",
    "plt.xlim(0, 20)\n",
    "plt.show()\n",
    "\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/r_files_no.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"r_file\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, (ax_box, ax_box2, ax_hist) = plt.subplots(3, sharex=True, gridspec_kw={\"height_ratios\": (.12,.12,.76)})\n",
    "# figsize=(6,5),\n",
    "sns.boxplot(df[\"r_file\"], width=0.7, color=\"skyblue\", ax=ax_box)\n",
    "sns.boxplot(df[\"files_count\"], width=0.7, color=\"red\", ax=ax_box2)\n",
    "\n",
    "b = range(df[\"r_file\"].max())\n",
    "sns.distplot( df[\"r_file\"] , color=\"skyblue\", kde=False, bins=b, label=\"R files only\", ax=ax_hist)\n",
    "sns.distplot( df[\"files_count\"] , bins=b, color=\"red\", kde=False, label=\"All files\", ax=ax_hist)\n",
    "\n",
    "ax_box.set(xlabel='')\n",
    "ax_box2.set(xlabel='')\n",
    "ax_box.set_title('Distribution of number of files per dataset',fontsize=20)\n",
    "ax_hist.set_xlabel(\"Number of files per replication dataset\",fontsize=16)\n",
    "\n",
    "plt.xlim(0, 40)\n",
    "plt.ylim(0, 1000)\n",
    "plt.legend()\n",
    "\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/files_combined.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "17.529890004782402"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"files_count\"].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "8.0"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"files_count\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Cut the window in 2 parts\n",
    "f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw={\"height_ratios\": (.15, .85)})\n",
    "\n",
    "# Add a graph in each part\n",
    "sns.boxplot(df[\"avg_file_len\"], ax=ax_box, color=\"g\")\n",
    "sns.distplot(df[\"avg_file_len\"], ax=ax_hist, color=\"g\", bins=35, kde=False)\n",
    " \n",
    "# Remove x axis name for the boxplot\n",
    "ax_box.set(xlabel='')\n",
    "ax_box.set_title('Distribution of average file name lengths',fontsize=20)\n",
    "ax_hist.set_xlabel(\"Average file name length [in characters]\",fontsize=16)\n",
    "plt.show()\n",
    "f.tight_layout()\n",
    "f.savefig(\"plots/filename_len.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "17.419215686274512"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"avg_file_len\"].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16.39"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"avg_file_len\"].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [],
   "source": [
    "libs = df['list_of_libs']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>list_of_all</th>\n",
       "      <th>comments_no</th>\n",
       "      <th>dependen_no</th>\n",
       "      <th>list_of_libs</th>\n",
       "      <th>total_size</th>\n",
       "      <th>sizeMB</th>\n",
       "      <th>files_count</th>\n",
       "      <th>docs</th>\n",
       "      <th>r_file</th>\n",
       "      <th>...</th>\n",
       "      <th>wflow_lib</th>\n",
       "      <th>dockerfile</th>\n",
       "      <th>space</th>\n",
       "      <th>other_code</th>\n",
       "      <th>rmd</th>\n",
       "      <th>rproj</th>\n",
       "      <th>rnw</th>\n",
       "      <th>comments_no_files</th>\n",
       "      <th>avg_file_len</th>\n",
       "      <th>unique_libs_no</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/XFQZI2</td>\n",
       "      <td>FigureA2data.dta;Readme.rtf;Condemnation.dta;C...</td>\n",
       "      <td>71</td>\n",
       "      <td>10</td>\n",
       "      <td>rms;xtable;readstata13;Matching;foreign</td>\n",
       "      <td>411332</td>\n",
       "      <td>0.41</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10.142857</td>\n",
       "      <td>10.43</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>campaign_effects_replication.do;replication_da...</td>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>ggplot2</td>\n",
       "      <td>12105318</td>\n",
       "      <td>12.11</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.666667</td>\n",
       "      <td>28.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>fig_10_effect_of_winning_on_gov.R;tab_8_campai...</td>\n",
       "      <td>194</td>\n",
       "      <td>111</td>\n",
       "      <td>ggplot2;lm_2008;lm_2004;character.only=TRUE;li...</td>\n",
       "      <td>2959665</td>\n",
       "      <td>2.96</td>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.705882</td>\n",
       "      <td>24.03</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>sponsorship_1_v3_November+6%2C+2017_12.32.csv;...</td>\n",
       "      <td>168</td>\n",
       "      <td>21</td>\n",
       "      <td>sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...</td>\n",
       "      <td>5350420</td>\n",
       "      <td>5.35</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.923077</td>\n",
       "      <td>28.62</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/JXXNDO</td>\n",
       "      <td>wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...</td>\n",
       "      <td>140</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>1402185</td>\n",
       "      <td>1.40</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.727273</td>\n",
       "      <td>12.73</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi                                        list_of_all  \\\n",
       "0  doi:10.7910/DVN/XFQZI2  FigureA2data.dta;Readme.rtf;Condemnation.dta;C...   \n",
       "1  doi:10.7910/DVN/WGPDBS  campaign_effects_replication.do;replication_da...   \n",
       "2  doi:10.7910/DVN/BPON3K  fig_10_effect_of_winning_on_gov.R;tab_8_campai...   \n",
       "3  doi:10.7910/DVN/ZWAGXZ  sponsorship_1_v3_November+6%2C+2017_12.32.csv;...   \n",
       "4  doi:10.7910/DVN/JXXNDO  wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...   \n",
       "\n",
       "   comments_no  dependen_no  \\\n",
       "0           71           10   \n",
       "1           17            1   \n",
       "2          194          111   \n",
       "3          168           21   \n",
       "4          140            0   \n",
       "\n",
       "                                        list_of_libs  total_size  sizeMB  \\\n",
       "0            rms;xtable;readstata13;Matching;foreign      411332    0.41   \n",
       "1                                            ggplot2    12105318   12.11   \n",
       "2  ggplot2;lm_2008;lm_2004;character.only=TRUE;li...     2959665    2.96   \n",
       "3  sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...     5350420    5.35   \n",
       "4                                                        1402185    1.40   \n",
       "\n",
       "   files_count  docs  r_file  ...  wflow_lib  dockerfile  space  other_code  \\\n",
       "0            7     1       1  ...          0           0      0           1   \n",
       "1            3     0       1  ...          0           0      0           1   \n",
       "2           34     1      26  ...          0           0      0           0   \n",
       "3           13     1       6  ...          0           0      1           0   \n",
       "4           11     1       2  ...          0           0      0           0   \n",
       "\n",
       "   rmd  rproj  rnw  comments_no_files  avg_file_len  unique_libs_no  \n",
       "0    0      0    0          10.142857         10.43               5  \n",
       "1    0      0    0           5.666667         28.00               1  \n",
       "2    0      0    0           5.705882         24.03              22  \n",
       "3    0      0    0          12.923077         28.62               9  \n",
       "4    0      0    0          12.727273         12.73               0  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [],
   "source": [
    "libs_list = []\n",
    "for l in libs:\n",
    "    libs_list.extend(l.split(';'))\n",
    "    \n",
    "while(\"\" in libs_list) : \n",
    "    libs_list.remove(\"\") "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "import collections\n",
    "\n",
    "x=collections.Counter(libs_list)\n",
    "x = x.most_common()[:50]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "t = map(list, zip(*x))\n",
    "names = t[0]\n",
    "counts = t[1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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BgxQly5dJEX33c3NTQsXLkxwHb///rucnJzM18Cl1tChQ+Xr66tt27apUqVK5lgyQuHChSXJouvxSpcurY0bN2rHjh2qXr26KlWqpF9++SXFj9wIDg5WZGSkPv74Y/PIZnwGDRokV1dXTZ8+XR9++KFq1aql0aNHmz+DAGArmB4JIFOxs7NToUKFzM+ZypUrl8qWLatr167FKfvXX3+pQoUKypkzZ7rEUrhwYZlMpjh3towZNXj11VfNy0qXLq358+dr6dKlypMnjz777DPt2rUrXeJ6Vq5cuXT48GHzjTyedvHiRXPMN2/eTJN1paf27durQIECmj59uq5du6bw8HDzvpAWihUrph9//FEbNmzQ66+/rm+//db8uIlcuXLpzJkz5lGep8X03cnJSeHh4akaUXyak5OTpkyZoly5cmnChAny8fFJk/VaIuZESIkSJRItFxERob59+2rdunWaNGmSunfvnuopijlz5pSdnZ1++eWXOK+ZTCZdvnzZ/PcHH3ygX375RUOHDtWpU6fUqVMnhYSEpKp9AEhrJG0AMpX79+8rd+7c5uvOJKljx466c+dOrKTh2rVrCgwMTNcHTjdu3FhS9NTCp/3555+SpJYtW0qSlixZYv4RX61aNS1btkzOzs46duxYito1mUyx/n9afCMbtWrVUkBAgAYMGKAbN26Yy23cuFFHjhyRJFWoUEF+fn5xEq+oqKhkryuloyuWyJo1q3r37i0/Pz8NHjxYHTt2tKhetmzZEry2MSbenTt3mvv/xhtvmKf8xVw/VatWLYWEhKhv376xttPBgwe1adMmSTI/RDu+ZEOK/z2L7/Wnt6Grq6u++eYbRURE6JNPPjHfPTS9HT9+XGXLlo1zXeOz7++BAwe0d+9edevWzaIRRkv2jxw5cqhixYratWuXvvnmG/NJgtDQUH377bfm93LKlCmSoveLjz/+WF9++aUCAwPjPYkDANZE0gbghfXtt99q7ty55mvTgoKC9NNPP2n8+PGxroFp3bq1atasqdmzZ8swDEVGRmry5MmqV69eolOrJCkgIECSdPfuXfOywMBASdKdO3dilY35O6bsBx98oIoVK2rp0qU6c+aMpOhrcWbPnq3OnTubH00QHh6uL774wnzdU0x/Ym7sIEkuLi7mdr29vRON+cqVK7H+l/73/K67d+/GGeXp3r27ihUrpqNHj6pRo0aqU6eO3nzzTc2cOdOc1Pbt21eS1LNnT23cuFFnzpzRvHnzzNsnOeuKSSqe3X7BwcEKDg4235AloX6Hhobq/v37un37dpykUZLatWunggUL6sGDB2rQoEGi2yqGu7u7rly5Yt42ly5dMieZMTezMQxDX331lW7fvi0pegTJZDKZ36f3339fZcuW1fnz59WqVSvVrFlTtWrV0tChQ9WtWzfz9nNxcdG0adP0+++/S5IePnxoHhm6fv16rP4/6+rVq5KiE/+nk5smTZqoU6dOunPnjrp27So/P79E+xszGvjs+xfTt5htLv1vZHjbtm3mNteuXas//vhDEyZMMJeL2e+fHuWSZB7JjvkMPHnyxLxtQ0ND9ddff0n63/7wbP2E4ho6dKgcHR21ePFiVatWTfXr11eNGjX04MED82dr9+7d8vLyMtcJDQ1N1WMRACC9OHh6enpaOwgASA9HjhzRsmXLtHz5cl26dEn37t1Tnz594tx0ws7OTo0bN9bJkyf1888/a926dapQoYI8PT0TvfHCuHHjtHDhQplMJh06dEiPHz/W48eP1b9/f4WEhOj69ev69ddf1ahRI3388cfavXu3JGnXrl0qVKiQ3N3d1bRpUz18+FA///yzfv31V+3YsUONGjVSv379zO34+vpq+fLlWrZsmfbs2aNt27apf//+sa5pc3Fx0caNG3Xx4kVVrVo13uvwbty4oU6dOunEiROSpD179ujAgQNydXVVjx49dPXqVUVFRWn9+vUqUqSIedpgtmzZ9M477+jOnTsKCAhQWFiYatasqcmTJ5unsRUvXlzu7u46ceKENm3apOvXr6tLly46deqUHj16ZL6WKql1HT58WH369DFvv71798rDw0NdunTR5cuXFRERoS1btqhatWoqUKBAnH6Hhoaqffv2unfvnoKDg7V161bVrl071nQ7BwcHBQcHq2rVqhbfTbFcuXI6efKk/vvf/+rixYtycXFRzpw5dfPmTTk6Oipfvny6f/++Fi9erOXLl2v37t3asGGDWrdure7du8vOzk4ODg5q1qyZHj58qL///ltPnjxR+fLl9eOPP8rV1VVS9BTK+vXr68KFC/rpp5907tw5Xb16VREREXJ2dlZ4eLiKFy8e5+Y4N2/eVPfu3bVu3TqZTCbdvn1bmzdvVo4cOcwjXTVr1tSBAwf0xx9/yMvL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\n",
      "text/plain": [
       "<Figure size 1080x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(15,4))\n",
    "r = range(0, len(counts))\n",
    "plt.bar(r, counts, label=\"Frequency\")\n",
    "plt.xticks(r, names, rotation=90, fontsize=15)\n",
    "\n",
    "plt.xlabel(\"Library name\", size=15)\n",
    "\n",
    "plt.legend(loc='upper right',  ncol=1,prop={'size': 15})\n",
    "\n",
    "plt.title(\"50 most freqently used R libraries\", size=20)\n",
    "\n",
    "plt.savefig(\"plots/lib_frequency.png\", bbox_inches = \"tight\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Pies and Bars"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "def make_autopct(values):\n",
    "    def my_autopct(pct):\n",
    "        total = sum(values)\n",
    "        val = int(round(pct*total/100.0))\n",
    "        return '{p:.2f}%  ({v:d})'.format(p=pct,v=val)\n",
    "    return my_autopct"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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upTY2xLn9OnTKSwsZP78+YDrGjt/oFJT1/75f6OzdDqd+7zZ2dnU19fzyCOPuJsXryRF9ASmp6dTUVHBkCFDCA4OxuFw8Le//Y1vv/2W3//+9zz11FNtOs+8efOYP38+kydPZurUqe4vg7P+8Ic/kJqaSu/evZk7dy4PPvggZrMZu92OxWIhMzOz0Tkv5pen0+l0/yI4n16vB1y/QGpqahr9so+MjGzThd0Sk8nE5MmTyczMZNq0aTzwwAPtOt9ZOp2OxYsXM3/+fGw2G88//zwvvfRSs4/ftGkTU6dO5c477+T5559315QuF5vNRmZmZqP31Gg0ur+cL9X5tWVw9WM89thjDBkyhD/96U9tqjldTFnSebtBXOq13JT4+HjWrl3LX/7yFw4dOsSvf/1rvvnmmxbjiYiIcNdEysvLeeihh7Db7UybNo1bbrmlwWNbu+5tNluDH0tnVVVVNXjNSnS5Yl+2bBkzZszg4Ycf5rnnnnPX9trDbrcDcOTIkUbH2lODbivZk4nT6eSNN95Aq9XywgsvALBq1SpSU1N54YUX8PLyavJ5F9Yg0tLSWLBgAc8++2yTQ5FramrYvXs3ffv2ZeHChbz77rtkZWWxfft293DAN954o8EIqZ07d3Lq1Kkmy2tK3759yc7OdjeVnfXZZ58BcP311+N0OhsNga6urmb06NGtnr8lixYtIj09ncmTJ3fIyKSz0tLSqKur45ZbbuGbb77ht7/9LStWrGhyLL7JZGLatGncc889bW4abK+UlBQqKioaTW779NNPm30fLvX9OTsgo0+fPh163gu151puyoYNG/D29mbixIls3LiRQYMGsXjx4gaPuXBkYGlpKUOHDgVg7ty52O127r777ibP39p1n5KSQmZmZqME9tlnn3XotXo5XI7Y8/LyePnll3niiScuuhm2JT179sTLy4u3337bXXsEV41l9+7dHVZOc65IMjGZTE3eX1VVxfPPP8/BgweZO3euu03PYrEArjH7p06dYsGCBahUKoqLi90fGH9/fyorK6moqOD77793Pyc1NZW8vDyWLFninuC2bds2bDYbb7/9tvsX7Pjx4wkODqZ79+4kJSVx6623smPHDh555BE+++wz/vOf//Dll1+628jPfqhPnjzJpk2bmhyW+/DDDxMcHMwLL7zAggULSE1N5Xe/+517pMVDDz1EfHw8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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pie chart\n",
    "labels = ['No spaces', 'Contain space']\n",
    "sizes = [(df['space'] == 0).sum(), (df['space'] == 1).sum()]\n",
    "#colors = ['#99ff99', '#ff9999']\n",
    " \n",
    "fig1, ax1 = plt.subplots()\n",
    "plt.rcParams['font.size'] = 15\n",
    "ax1.pie(sizes, labels=labels, autopct=make_autopct(sizes), startangle=100,  textprops={'fontsize': 14}, wedgeprops={'alpha':0.7})\n",
    "\n",
    "#draw circle\n",
    "centre_circle = plt.Circle((0,0),0.70,fc='white')\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.gca().add_artist(centre_circle)\n",
    "\n",
    "# Equal aspect ratio ensures that pie is drawn as a circle\n",
    "ax1.axis('equal')  \n",
    "plt.title(\"Dataset contains a file that has space in file name\", size=18)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n",
    "fig.savefig(\"plots/space.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Testing script"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pie chart\n",
    "labels = ['No test files', 'Contains files \\nnamed test']\n",
    "sizes = [(df['test'] == 0).sum(), (df['test'] == 1).sum()]\n",
    "#colors = ['#99ff99', '#ff9999']\n",
    " \n",
    "fig1, ax1 = plt.subplots()\n",
    "plt.rcParams['font.size'] = 15\n",
    "ax1.pie(sizes, labels=labels, autopct=make_autopct(sizes), startangle=60,  textprops={'fontsize': 14}, wedgeprops={'alpha':0.5})\n",
    "\n",
    "#draw circle\n",
    "centre_circle = plt.Circle((0,0),0.70,fc='white')\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.gca().add_artist(centre_circle)\n",
    "\n",
    "# Equal aspect ratio ensures that pie is drawn as a circle\n",
    "ax1.axis('equal')  \n",
    "plt.title(\"Dataset contains a test script\", size=18)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n",
    "fig.savefig(\"plots/test_script.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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nU4n3X///dLrr78ur79p0yYpODhYSkxMlCRJkjQajXTu3Dmpffv20rRp0+T1Tp48KT344INSYWGhJEmSVFxcLA0ZMkR65plnJL1eL2VmZkqrVq2SgoODpbfeekuKjIyU0tLSpCFDhkiPPvpopce0pKREunjxotSpUydp6NCh0uLFi6XLly9LX3zxhRQcHCy9+eabkiRJUlJSktSuXTvp4MGDkiRJ0tWrV6Xg4GBp9erV8rYmTZokrVq1Sn49bNgwqXv37pJer5ckSZKmTZsmDRgwQJIkScrKypLGjRsnXblyRV6/JmXMmDFDmjBhgvx67ty50gMPPCCNHj1a2rlzp1RaWiq9+OKLUl5enskxGjJkSIVzpNwff/whDR8+XNLpdJIkSdLatWul4OBgadeuXbV63I8dOyYFBwdLx44dk5dNnz5dGjZsmPz69ddfl/r06SO/jomJke6//35p9OjRkiRJUnZ2thQRESEFBwdLEyZMkPbt2ydlZ2dLzz//vNStWzd5H2bNmiX98ccf8nbee+89KTY2ttL9Lz+OY8aMkb+r48ePS8HBwSbn34wZM6QPPvigwv789NNP8rI7nQMjR46U90WSJEmv15v8ni5fviw99dRTUo8ePaSVK1dK6enp0qlTp6SwsDBp1KhR0rJly6T09HRp3759UnBwsLR06VJ5W+PHj5d/QzqdTnr++eelPn36SIWFhVJKSoo0YsQIqUePHtLChQul1NTUSrdx6zkqScbfx3333SetXbtWkiTjNSAsLEz6/PPPTY5dcHCw/Lqq68S2bdukJ598UiorK5O/y169ekmTJ0+WJEmS0tPT5d/dhx9+KMXExEjx8fFS7969pfHjx1f53dV3Vn+nExUVxezZs9m2bRsODg6sWbOmQidrUlISO3bsoHHjxuzfvx8wtrF26NCB+Ph4+vbtS8uWLUlNTWXKlCkoFAratm3L5cuXWbJkCfv372fw4MEVynZxcalwt1BaWso333zDwoUL5WWjR4/Gy8uLFi1aADBo0CAGDRoEgCRJ+Pj4VNscaGdnR8eOHSu0qX/++ef069cPFxcXABwdHXnllVeYOnUqv/76K48//jhBQUEAPPXUU/JxeeCBB/jpp58qLcvBwYF27drh6elJ8+bNeemllwCYOnUqx44dY+vWrfz3v//FxcWFJ554go4dOwLg7e0N3GzWjIyM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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pie chart\n",
    "labels = ['Yes',  'No']\n",
    "sizes = [(df['docs'] == 1).sum(), (df['docs'] == 0).sum()]\n",
    " \n",
    "fig1, ax1 = plt.subplots()\n",
    "plt.rcParams['font.size'] = 15\n",
    "ax1.pie(sizes, labels=labels, autopct=make_autopct(\n",
    "    sizes), startangle=100,  textprops={'fontsize': 14},wedgeprops={'alpha':0.6})\n",
    "\n",
    "#draw circle\n",
    "centre_circle = plt.Circle((0,0),0.70,fc='white')\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.gca().add_artist(centre_circle)\n",
    "\n",
    "# Equal aspect ratio ensures that pie is drawn as a circle\n",
    "ax1.axis('equal')  \n",
    "plt.title(\"Replication package contains documentation\\n (readme, code book or instructions)?\", size=18)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n",
    "fig.savefig(\"plots/docs.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Other programming languages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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d79j4cKFfPjhh7z++uvuYcvmWJt//udy7733EhwczKxZs/jggw9Yvnx5izmze+65h7i4OD744AN3b6e4uJgjR47wxBNPAPDAAw/g5+fHCy+8QGZmJg6Hwz0PeeTIEYqLi5k6dSpBQUHMnj2bF154gSVLlvC///u/JCQktIhn5cqVTJw48ay9L8EzaF544YUXlA5CaGn//v18/PHHZGVlUVFRQUhICGFhYQQGBrZ4XGxsLCdOnODbb79l//793HPPPdTW1nLo0CFuvPFG+vXrx5gxYzAajfzwww9s376dhIQEZs+ejU6nY8uWLXzxxRdUV1ej0WhISEjAarWyceNGvv/+ewICAhgzZgwnT55stQ2Xy8XixYv56aefWLduHd9++627JHncuHEEBQUxduxYKisr2bZtG/v37ycpKYk//elPaDQaysrKeP3119m8eTPFxcVs3ryZp556qkVxwuni4+MZOHAgu3btYv369TQ0NDB79mz34yMiIrjiiitYsWIF69atIyMjg9LSUt544w38/f0pKyvjo48+IisrC7PZTP/+/amsrOSzzz6jsLAQh8NBcnIykZGR1NfX89VXX9HY2MiUKVOIi4tj8+bNfPPNNwQGBnL33Xezdu1abDYbd911F9u2bWPRokVUVVURGhpKbGwsCxYsID09nYaGBuLj47HZbCxcuJDjx49jsVhISkoiLCzsjNeZlpaGRqPhvffeIzMzk40bN3L11Vdz//33ux/Tp08ftm/fztKlS7n++usxm838+9//pqSkBKfTSf/+/UlPT2fJkiWUl5cTGhpKSkoKo0ePRq1Ws3fvXrZt24ZWq+WVV14hKCiIAwcOsGDBAkpKSqiqqmLgwIFnjQ/kOZ9rr72WI0eOsHr1ak6cOMH999/PzTffDMjzbTfddBP79+/ns88+4/Dhw+zYsYOXXnrJPbcYGBjIyJEjSU9P58MPP+THH38kLS2NAwcOMHz4cAYNGkRMTAzXXnstubm5bN68mZycHCZNmsSkSZNaxLN37142btzIrbfeKq7R8VAq6VwD54LQRq+88gr33ntviwIFk8nEqlWrsFgs/P73v1cwOkEQPIkYXhMuyqZNm8jIyDijIs7f35/evXu3uBhREARBJB3hopSXl5OZmck777xDbm4uJpOJiooK1qxZw549e9yTxYIgCCCG14QO8M0337BkyRJy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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pie chart\n",
    "labels = ['Code in other \\nlanguages',  'Only \\nR code']\n",
    "sizes = [len(df)-(df['other_code'] == 0).sum(), (df['other_code'] == 0).sum()]\n",
    "#colors = ['#ff9999','#99ff99']\n",
    " \n",
    "fig1, ax1 = plt.subplots()\n",
    "plt.rcParams['font.size'] = 15\n",
    "ax1.pie(sizes, labels=labels, autopct=make_autopct(\n",
    "    sizes), startangle=100,  textprops={'fontsize': 14}, wedgeprops={'alpha':0.5})\n",
    "\n",
    "#draw circle\n",
    "centre_circle = plt.Circle((0,0),0.70,fc='white')\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.gca().add_artist(centre_circle)\n",
    "\n",
    "# Equal aspect ratio ensures that pie is drawn as a circle\n",
    "ax1.axis('equal')  \n",
    "plt.title(\"Packages contain other code?\", size=18)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n",
    "#fig1.savefig(\"plots/other_code.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>list_of_all</th>\n",
       "      <th>comments_no</th>\n",
       "      <th>dependen_no</th>\n",
       "      <th>list_of_libs</th>\n",
       "      <th>total_size</th>\n",
       "      <th>sizeMB</th>\n",
       "      <th>files_count</th>\n",
       "      <th>docs</th>\n",
       "      <th>r_file</th>\n",
       "      <th>...</th>\n",
       "      <th>wflow_lib</th>\n",
       "      <th>dockerfile</th>\n",
       "      <th>space</th>\n",
       "      <th>other_code</th>\n",
       "      <th>rmd</th>\n",
       "      <th>rproj</th>\n",
       "      <th>rnw</th>\n",
       "      <th>comments_no_files</th>\n",
       "      <th>avg_file_len</th>\n",
       "      <th>unique_libs_no</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/XFQZI2</td>\n",
       "      <td>FigureA2data.dta;Readme.rtf;Condemnation.dta;C...</td>\n",
       "      <td>71</td>\n",
       "      <td>10</td>\n",
       "      <td>rms;xtable;readstata13;Matching;foreign</td>\n",
       "      <td>411332</td>\n",
       "      <td>0.41</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10.142857</td>\n",
       "      <td>10.43</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>campaign_effects_replication.do;replication_da...</td>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>ggplot2</td>\n",
       "      <td>12105318</td>\n",
       "      <td>12.11</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.666667</td>\n",
       "      <td>28.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>fig_10_effect_of_winning_on_gov.R;tab_8_campai...</td>\n",
       "      <td>194</td>\n",
       "      <td>111</td>\n",
       "      <td>ggplot2;lm_2008;lm_2004;character.only=TRUE;li...</td>\n",
       "      <td>2959665</td>\n",
       "      <td>2.96</td>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "      <td>26</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.705882</td>\n",
       "      <td>24.03</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>sponsorship_1_v3_November+6%2C+2017_12.32.csv;...</td>\n",
       "      <td>168</td>\n",
       "      <td>21</td>\n",
       "      <td>sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...</td>\n",
       "      <td>5350420</td>\n",
       "      <td>5.35</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>6</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.923077</td>\n",
       "      <td>28.62</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/JXXNDO</td>\n",
       "      <td>wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...</td>\n",
       "      <td>140</td>\n",
       "      <td>0</td>\n",
       "      <td></td>\n",
       "      <td>1402185</td>\n",
       "      <td>1.40</td>\n",
       "      <td>11</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.727273</td>\n",
       "      <td>12.73</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 23 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi                                        list_of_all  \\\n",
       "0  doi:10.7910/DVN/XFQZI2  FigureA2data.dta;Readme.rtf;Condemnation.dta;C...   \n",
       "1  doi:10.7910/DVN/WGPDBS  campaign_effects_replication.do;replication_da...   \n",
       "2  doi:10.7910/DVN/BPON3K  fig_10_effect_of_winning_on_gov.R;tab_8_campai...   \n",
       "3  doi:10.7910/DVN/ZWAGXZ  sponsorship_1_v3_November+6%2C+2017_12.32.csv;...   \n",
       "4  doi:10.7910/DVN/JXXNDO  wgi_CoC_2013.csv;DB14-Distance-to-Frontier-dat...   \n",
       "\n",
       "   comments_no  dependen_no  \\\n",
       "0           71           10   \n",
       "1           17            1   \n",
       "2          194          111   \n",
       "3          168           21   \n",
       "4          140            0   \n",
       "\n",
       "                                        list_of_libs  total_size  sizeMB  \\\n",
       "0            rms;xtable;readstata13;Matching;foreign      411332    0.41   \n",
       "1                                            ggplot2    12105318   12.11   \n",
       "2  ggplot2;lm_2008;lm_2004;character.only=TRUE;li...     2959665    2.96   \n",
       "3  sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...     5350420    5.35   \n",
       "4                                                        1402185    1.40   \n",
       "\n",
       "   files_count  docs  r_file  ...  wflow_lib  dockerfile  space  other_code  \\\n",
       "0            7     1       1  ...          0           0      0           1   \n",
       "1            3     0       1  ...          0           0      0           1   \n",
       "2           34     1      26  ...          0           0      0           0   \n",
       "3           13     1       6  ...          0           0      1           0   \n",
       "4           11     1       2  ...          0           0      0           0   \n",
       "\n",
       "   rmd  rproj  rnw  comments_no_files  avg_file_len  unique_libs_no  \n",
       "0    0      0    0          10.142857         10.43               5  \n",
       "1    0      0    0           5.666667         28.00               1  \n",
       "2    0      0    0           5.705882         24.03              22  \n",
       "3    0      0    0          12.923077         28.62               9  \n",
       "4    0      0    0          12.727273         12.73               0  \n",
       "\n",
       "[5 rows x 23 columns]"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pie chart\n",
    "labels = ['No R markdown',  'Contains R markdown']\n",
    "sizes = [(df['rmd'] == 0).sum(), (df['rmd'] == 1).sum()]\n",
    "#colors = ['#ff9999','#99ff99']\n",
    " \n",
    "fig1, ax1 = plt.subplots()\n",
    "plt.rcParams['font.size'] = 15\n",
    "ax1.pie(sizes, labels=labels, autopct=make_autopct(sizes), startangle=30,  textprops={'fontsize': 14}, wedgeprops={'alpha':0.7})\n",
    "\n",
    "#draw circle\n",
    "centre_circle = plt.Circle((0,0),0.70,fc='white')\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.gca().add_artist(centre_circle)\n",
    "\n",
    "# Equal aspect ratio ensures that pie is drawn as a circle\n",
    "ax1.axis('equal')  \n",
    "plt.title(\"Packages contain R markdown?\", size=18)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n",
    "fig1.savefig(\"plots/rmd.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZ0AAAENCAYAAADUubjhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi40LCBodHRwOi8vbWF0cGxvdGxpYi5vcmcv7US4rQAAIABJREFUeJzs3Xd4lFXa+PHv1MykJ5NOgCSE0BGRjg1EVOwV7IuyrP1ddX/s6r52XX31ElbWdVkUC65iF6SoiCAqHUF6SUJCeq8zk+nP748so5FQU56Z5P5c167MzDNz7kkmzz3nnPs5R6MoioIQQgjRCbRqByCEEKL7kKQjhBCi00jSEUII0Wkk6QghhOg0knSEEEJ0Gkk6QgghOo1e7QBE59i+fTtLlixh0aJFREREMHjwYLxeL/X19UyZMoU77rgDo9HY5nZ27tzJJ598wooVK9i6dWs7RC4AnnnmGTZv3szSpUtP+zV++uknlixZwocffkh0dDRnnXUWGo2G3NxcBg0axAMPPEDv3r3bMepjy8nJ4dtvv0Wn07F+/Xp0Oh1//etfSUtL65T2hYoU0W1YrVYlKytLefjhh/33ffrpp0pWVpZy3333tUsbtbW1yoMPPqhkZWW1y+t1RS6XS9m/f/8pPeeTTz5RnnvuuTa33dpnICcnRznrrLOUMWPGKJWVlW1u40RsNptyySWXKB6PR1EURfF6vcpNN92kXHDBBYrT6ezw9oW6ZHitGwkLCzvqvmuuuYb+/fuzcuVKdu7c2eY2oqOjO+3bcrD66KOP2LNnzyk959prr+XRRx9tc9utfQb69OnDDTfcQE1NDR9++GGb2ziR3NxccnNz2bt3LwBarZZJkyZRWFjIwYMHO7x9oS5JOoKMjAwASkpK2uX1tFr5WB3Ljz/+yPPPP692GEdJSUkBoKampsPb6tevH1OmTEGv/2V032azodFoiI+P7/D2hbpkTkdw+PBhAPr27Qs0j/2/8847ZGZmsm3bNkwmE88884z/hKAoCu+88w4FBQXYbDays7N54IEHOP/881t9/Y8//pinnnqKW265hfPOO4+xY8eesA2fz8eCBQuwWq1ERUVRUFDAX/7yF0wmk/917XY78+fPx2q1snv3bkJCQvjLX/7CgAEDAFi6dCkHDhzA4/GwbNkyhg8fzty5c4/5czgyH6XT6di1axcjR47k4Ycf9p8c9+/fz8KFC4mKimLv3r3ExsYya9YskpOTqaurY8mSJXz22WfcfvvteL1eXnvtNex2O3/961+54oorOHToEF988QVut5vPP/+cn3/+menTp9OjRw/mzJmD0+lEq9WyadMmbrvtNq6//noAduzYwUcffcSOHTtYtmwZdrud5cuX89lnnzF+/HgGDBjASy+9REVFBffccw8zZsw45c/A9u3bATjrrLP89+3du5dPP/2UZcuWsWrVKp577jm+/vpr0tLSmDdvHomJibz77ru88MILxMXF8frrr2M2m5kzZw7Lly9n4sSJzJo1i/T0dNavX8+9997Lgw8+yG233cacOXP87SiKwjfffMO1115LYmLiKccugoza43uic/12PP+jjz5SsrKylEcffVRRFEVpampSzjzzTOWDDz5QFEVRGhsblUGDBikvvfSS/zl/+9vflBdffNF/+6GHHlIGDhyoVFdXK4qiKHPnzvXP6dhsNuX+++9XNm/e7D/+ZNr497//rVx++eX+259++qkyZswY5eabb1b+85//KIqiKH/4wx+UwsJCRVEUxePxKLfffrsybtw4pbGxUSkrK1OuvfZa//MLCgpavO/f2rFjh3LxxRcrNptNURRF+eGHH5SsrCzlrbfeUhRFUfLz85WxY8cqJSUliqIoitvtVn73u98pEyZMUKxWq1JdXa2sXr1aycrKUu666y7lu+++U6qrq5Xbb79dGTFihH/+orCwUMnKylI+/fRTf9v//Oc/lfHjx/tvv/TSS8qAAQP8seTk5ChXX321MmHCBEVRFKWhoUHZs2ePkpWVpdxyyy3KsmXLlJqaGmXWrFnKgAEDlKqqqmO+T0Vp+RlwuVzKggULlKysLGXWrFmKz+fzH1dWVqY89NBDSlZWlvLPf/5Tyc/PV3bv3q0MGjRIeeaZZ/zHPfLII8r48eMVr9erKErz73z48OHKyy+/7D+mtrZW+fOf/9xqPMuXL1euu+46pamp6bhxi65BejrdUHZ2Nq+++ioVFRU0NTXx4osvcsUVVwBgMBiYMmUK48aN89+OjIz0D7uUlJSwcOFCvv32W//r3XvvvZx55plER0e3aKe2tpZHH32UBx54wN/7OJk2AFasWEFmZqb/9rnnnssjjzzCU089xeTJk9myZQt79+7l888/9x+TkJCA1+uluLgYn8/H3r17+eijj7juuuvo2bMn11133TF/JnPmzOHSSy8lNDQUgNGjR/PYY49x9tlnA/DKK6/Qv39/kpOTAdDr9TzwwANMmzaNhQsXcvfdd/vjveCCCzjvvPMAmDRpEhs2bKCqquqY3+IHDRrE7bff7r9tsVj8lYWhoaH06dOHjIwMtm3bBkBERAT9+/cHYMSIEVx66aUAXHzxxSxevJjDhw9jsViO+V4Bdu/ezVNPPcXSpUsxmUwsWrSI4cOHtzgmMTGRXr16AXDXXXf5h02zsrI4dOiQ/7hp06bx6aefsm7dOs455xxCQ0NJT0/ns88+4/7778dgMLB48WKmTp3aaiyLFy9m3rx5LXqxouuSpNMN9e3bl/vuu6/Vx3Q6Hc8++yw5OTn8/e9/x2QyoSgKPp8PaB6C8vl8xMTE+J+TkZHhnxf6tfvvvx+tVktWVtYptQHNJ97Kykr/7SMT4KWlpQDs2rULs9nM/ffff8z3eeWVV/LYY4+xYMEC7rzzTq699tpjHvvzzz8zadIk/22DwcAtt9ziv71u3TrGjBnT4jlDhgxBp9OxY8cOADQaDdByTutIEnO73cds+8iQ48cff0xhYSFlZWUAeL1e/zG/nv/4dRun2tYRvXv35oknniAyMpJ58+aRnZ19VNI5VjthYWEt2hg6dCj9+/fnk08+4ZxzzmHbtm0MHDiQXbt28c033zBlyhR27tzJ7373u6Nef8+ePdx8880nTJKi65AZX3GUOXPm8Oqrr/L73/+eu+66C7PZ7H/sSGLIzs4+6nkNDQ0tbt97771s3bqVl19++ZTaAJg1axZFRUUcOHAAaJ6Aj42NZfLkyQB4PB6Ki4uprq5u8Tyv10tdXR0Azz//PAsXLiQ2NpbHHnuMmTNnohxjJw+fz0dOTs5x31NFRUWLx/R6PbGxsUclhFOVm5vL1KlTSU1N5aGHHjoquXWk//mf/2H8+PE899xz/mqy03HDDTfw7bffUltby8cff8yjjz7KmWeeyaJFi9i6dWuLuaJfO3z4MGPHjj3tdkXwkaQjWtiwYQPz5s3j3nvvbbW89sgw2YIFC1rcv3btWoqLi1vcN3bsWP74xz+yYMECVqxYcdJtAMTHxzNkyBCWLFnCe++9R3Z2NosXL/YPb/Xr1w+3283s2bNbPO+zzz7D4XCQnZ1Nbm4uo0ePZtGiRTzyyCP8+OOP7Nu3r9X2BgwYwJIlS6iqqvLfZ7VaWbJkCQBnnnkmu3fvpra21v+4z+ejrq7OP5R2Mo70hn7t8ccfp2fPnqqcfLVaLS+//DIWi4UHHniA+vr603qdK664Ar1ez4svvkhaWhomk4lp06axefNm/vWvf/mHb39r8uTJ7XJRsggeknS6kaamphb/bY3T6QSaT94FBQW8/fbbNDQ0UFFRwdq1a0lPT+eSSy7hq6++4qGHHmLJkiXMnj2bpUuX+hPSkWEhr9fLzJkzufDCC3n00Uf916acqA2AF154AYfDQf/+/YmJiSEjI4OcnBzsdjsA55xzDkOGDOGTTz5h5syZLFq0iBdeeIEDBw6QlJSEzWbjH//4h79nc9VVV2E2m/2lwb919913Y7fbufnmm1m0aBHvv/8+f/jDH/wVeX/84x8BmDdvnv85X375JZmZmVx55ZVAc+8LaDFMeMSRn8mRIbCcnByKiorYtWsXDoeDbdu2sWfPHjZv3syXX34JwMGDB/1Ddx6Pp8Vw25HhreO11ZojPz+Hw+G/LyYmhrlz51JeXs59993X4vNxrPd05P4jIiIiuPjii1m5ciU33XQTAJdccgnR0dEkJiYSERFxVCxVVVVcc801vP7668eMV3Q9uieffPJJtYMQHW/79u28/vrr7Nmzh4qKCqKjo4mNjT3qZJCamsqhQ4dYvnw527dv58Ybb6S2tpZdu3ZxwQUX0Lt3byZMmIDVauWbb75h/fr1pKen8+ijj2IwGFi7di3vvfce1dXV6HQ60tPTcTqdfPvtt6xcuZLw8HAmTJjA4cOHj9uGz+fj/fff5/vvv+fLL79k+fLl/pLkiy++mMjISCZPnkxlZSXr1q1j+/btZGVl8ac//QmdTkdZWRnPP/88a9asobi4mDVr1vDggw+2KE74tbS0NPr27cumTZv46quvaGho4NFHH/UfHxcXx6hRo/j888/58ssv2bFjB6WlpbzwwguEhYVRVlbG/Pnz2bNnD3a7nYyMDCorK3nnnXcoLCzE4/HQr18/4uPjqa+v5+OPP6axsZHrr7+enj17smbNGhYvXkxERATTpk1jxYoVuFwupk6dyrp161i4cCFVVVXExMSQmprKggUL2LJlCw0NDaSlpeFyuXj77bc5ePAgDoeDrKwsYmNjW7zHn376iTfeeIM9e/ZQVVVFVFQUFouFiIgIEhMTiY+P59133+Xrr7/G6XTi8Xh46623qKmpQavV0qdPH1auXMmnn35KZWUliYmJLQpEYmJi/L9faB5+rKmp4aqrriIpKemon3l9fT1vv/02ffr08ReViK5PoxxrkFsIFT377LPcdNNNLQoUbDYbX3zxBQ6Hg+nTp6sYnRDidMnwmgg4q1evZseOHUdVxIWFhZGcnEyfPn1UikwI0VaSdETAKS8vZ/fu3cyePZvc3FxsNhsVFRUsW7aMrVu3cu6556odohDiNMnwmghIixcvZtGiReTm5uJ2u+nbty833HAD119/fasVYEKI4CBJRwghRKeR4TUhhBCdRpKOEEKITiNJRwghRKeRpCOEEKLTSNIRQgjRaSTpCCGE6DSSdIQQQnQaSTpCCCE6jSQdIYQQnUaSjhBCiE4jSUcIIUSnadvm7kJ0UV6fgsfrw6soeH0KPh94FQWfouDzKSiAT1FQFNBoQKfRoNdpCdFpMRo0GHQ6td+CEAFJko7olrxeH41ODw63D6fHi8Pto8HhpsbqotLqpLLRgdPtw+NrTjpen9Li316fz/9vjVaDSa/FZNARotcRYtASFqIj0mQgwqQn3GQgzKgn0qwnPESPyaAjPERPWIj8+YnuR1aZFl2ey+Ol1u7G5vJQVu+guKaJwrom6mwu6uwubC5vp8YTadZjCQshKcpEWlwYyVEmIkIMhBi0koxElydJR3Q5VqeHhiY3DU1u8qpt7C1poKSuiTq7W+3QjkkDRJoNxIYZ6RUbyqAekcRHhBBpMhAdalQ7PCHajSQdEfTsTg/VNhdVVicHyhrJqbBSWt+Ew+1TO7Q20Wk1JEWa6JsUweCUSBIiQogJMxJqlJ6QCF6SdERQsrs8VFtdHKqysiG3mrwqGx5v1/4om/RaellCGdYrhr4J4cSEGokJk16QCC6SdETQOJJo8qpsbDhUxaHKrp9ojic5ysS4TAuDUqKIjwiRHpAICpJ0REBrcnupanSSX21jQ241hyqtuLtxommNXqchKzGC87LiSY0xEx9hQqfVqB2WEK2SpCMCUkOTm+K6Jr7dV86ekgZcnuCen+kskWY9w3vFMCbDQnxEiBQhiIAjSUcElKpGJ3lVNlbuLeNQpU3tcIJaaoyZs/vGMSgliuQoExqN9H6E+iTpCNX5fArlDQ72lDTw7b5yKhqdaofUpUSY9FwwIIGzeseSFGlCK0NvQkWSdIRqXB4vpfUONuXVsC67CqvTo3ZIXVp4iJ6JAxIYkRZDcqRZko9QhSQd0ek8Xh/FdU18s7ecn/JrcXllvqYzhYfoOb9/PKPSLSRFStGB6FySdESnURSF0noH63Kq+G5/BQ4pDlBVWIiO8/slMCo9luQosyQf0Skk6YhOUW11sr2gjuW7SmhokmG0QBJm1DFlaDIj02OxhIWoHY7o4iTpiA5lc3rIrbTy8dZCSuocaocjjqNnrJmpI3uRERdGiEG2ZhAdQ5KO6BBH5m2W7yxlW0Et8ikLDjqthnOy4pnUP4HkaLPa4YguSJKOaHd1dhcbD1WzbEcpTe7O3TZAtI+YUAPXj+jJgJRIIk0GtcMRXYgkHdFuFEWhoMbOR1sL2V/aqHY4oh0M7hHFVWem0DMmFL1OdrcXbSdJR7QLm9PD7uJ63t9UINfbdDEmg5ZLh6Ywro9FltURbSZJR7RZeYOD5TtLWZ9ThXyYuq6ByZHcMLInPWND1Q5FBDFJOuK0ubxecipsvLs+X5au6SaiQw3cOjaNAUkRUuEmToskHXFaam0ufsypYtnOkm69p013pNNqmDIkifP7JchwmzhlknTEKSupa+LdDYc5WC7FAt3ZkB5RTB3ZU0qrxSmRpCNOSW6FlTd+OCTDaQKAhIgQpo9Pp09CuCyjI06KJB1xUjxeH/tKG1jwYx6NDqlOE78wG3TcNKYXZ/aKwSzzPOIEJOmIE3K6vWwrqOXdDYdxyiKdohVaDVw/oidnZ8YRGqJXOxwRwCTpiONqdLj5IbuKz7cV4ZNPijgODXD5sBQm9k8gQlYxEMcgSUccU63NxfJdpazZX6F2KCKIXDgwkUuGJBFllso2cTRJOqJVFQ0OFm0pYGdhvdqhiCA0PjOOq8/sQUyYJB7RkiQdcZSKRgcLfsgjp8KqdigiiJ2VFsPUET2xhMsePeIXknREC1VWJ2+vy2dfaYPaoQQMrQYizQbCQ/TotVp0WvzlwV6fgtcHHp8Pq9NDQ5Nb5r5+ZVBKJLeM6U1CpEntUESAkKQj/GpsTt7bWMDPhXVqh9KpNEBCZAhpljDSLGHERYQQE2YkwqRHr9Wg1WhQAI2m+VgAjab5X0f+fBT//4FPUfD4FBodHmptLqqsTvKrbORX26locHS79ekyE8KZPj6NpCi5iFRI0hH/VWd38fHWIjYeqlY7lA6XGGkizRLKgORIMuLDiTA1l/iaDFqM+o65zsTl8eJwN5ebW50ecius7CttIL/aTnlD199RtW9iODPOySBOhtq6PUk6goYmN0t+Lua7A5Vqh9Ih9DoNA5IiGZ8ZR1ZiOBqNpkMTzMk6kogUFA6WWVmXU8W+soYuu5bd6AwLU0emSlVbNydJp5uzOT0s31nK13vK1A6lXUWY9AzrGc24zDiSI03odBpCjYF90aLd5cHjVShvcLAup4qfC+u63OoPlwxJYsrgZLmAtBuTpNON2V0eVu2tYMnPxWqH0i40GhicEsXlZ6QQHxESEL2Z03WkF1RldbJ0Rwm7iuvpCn+pGuDG0b04p29c0P5uRNtI0ummXF4v3x+o4oPNBUE/sR0eomdC/wTOy4rHqNcS1sW+RducHlweH98frGT1/oqg35lVp9Xw+3MzOKtXDFpZJLTbkaTTTf1cWMe/1uTgCeL63jRLGFcMSyEjPgyTQYdBp1U7pA7l9vpwuL0cqrSxdEcJeVU2tUM6bWaDjnsmZjIwOVLtUEQnk6TTDeVX2fj7qoNBO1/QI9rMLWN7kxJlIrybrvFldbgprXfw7obDFNc1qR3OaYkyG7j/gkzS48LVDkV0Ikk63Uxlo4N/rsmhsCb4TlSWMCM3ju5FZkK4LCj5X40ON7kVVt7fVEC1zaV2OKcsOcrEfRMz5RqebkSSTjfS6HDzwZZCNuYG17U44SF6rhuRyrCe0YQZ9TIP8Bs+n4LN5eHnwjo+2VoUdHM+ozNiuWl0b8K72FycaJ0knW7C4/XxQ3YV/9l4WO1QTpqGIysWJxMaokOv7dpzNm3l8fmwO718tauUlXvLg6pA5I6z0xnXx+Jf6UF0XZJ0uokDZY3MXXUQR5BswhYXbuSeCZkkRIRgDvDrawJNk8tDRaOT19bkUmUNjm3Fw4w6HpycJfM73YAknW6gvMHBK6uyg2K5FQ0waWAilw5NlnmbNmp0uFmxs5RvgqTXkxEfzl3nZ2AJk6VyujJJOl2czenh/c0FQTGPI72b9vdLryeHKmvgFxpcfkYyU4Yky4WjXZgknS5u2+FaXluTE/DfdEelx3LT6F7Su+kgjQ43izYVsCmvRu1Qjkun1XD/xEyGpEaf1vO//vprKioqSE5OpqSkBIvFwqWXXnra8SiKwuzZs3n44YdP6nir1cojjzxCamoqCQkJZGdn89xzz8lc1a/IzGwXVl7v4MMtgb3igAaYOrInt4zpLQmnA0WYDNw8pjdTR/YkkE9/Xp/CuxsPU3oa1x7t2bOHZcuWceuttzJp0iRuuukmEhISTuq5n332GUVFRUfdr9FoTjrhAISHh5OVlcWoUaOYPn06e/fuZe/evSf9/O5Akk4X5fJ4+e5gRUAPqZj0Wv50UT/O6Rvf5ZauCURhIXrO6RvPny7qh0kfuH/61VYXX+wowepwn9Lzli1bxujRo/239Xo9I0eOZOvWrSxevJjXXnuNH374gZycHG699VY+/vhj7r//fqxWK1988QUbN25k9+7dzJ8/n2eeeYa9e/eyf/9+7rnnHurr67n++utZuXIld9xxB7W1tXzyySesXLmSV155pdV4mpqasFqtJCUlUV5eztSpU1m6dCl33nknVquVW2+9lZ07d/LSSy/x6quvYrPZmD17dpt+dsEgcD95ok3yquys3l+hdhjHFBdu5IkrBpGZEI7ZKOP3ncVs1JGZEM4TVwwK6L1tNufVcKCs8ZSe4/F40LZSVv/qq69y1VVXMWPGDObMmUNmZiYA119/PbW1tYSHh5OUlMSYMWOIj49n5MiRGI1GDhw4QP/+/WlsbCQqKgqTycTkyZM544wzyMnJIScnh4MHDzJ16tSj2ty9eze33norf//737FYLCQmJmIwGLj88suxWCw0NDTw+9//nm3btjF69Ghyc3PJzc1l2rRpp/cDCyKSdLqgGpuLj7YUBOy+LP2TIvjrpQNJiDSh7+LrpQUivU5LQqSJv146gP5JEWqHc0wf/1RExSlUXF5wwQX8+OOPLe4rLS3F4XDQ2NiI0WgkJiamxeNH5lqO/HfXrl2UlpbSt29fjjXdrdVq8fl8TJ8+nd69e/Poo48edUzfvn254447+PDDD49q68jzzz77bDZu3IjdbsdkMrFz505SUlJO+v0GK/mL72J8PoWt+TXkV9vVDqVVw3tFc/eETCLNMn+jtkizgbvPz2R4r5gTH6yCykYn63Or8HhP7tqyMWPGMGbMGF544QUWL17M6tWriYmJ4eGHH+af//wnS5YsYcaMGRw6dIja2lpKSkqoq6sjLy+PjIwMli5dSm1tLV9//TWFhYXs2bOHQ4cOUVNTQ3FxMVVVVeTl5VFSUkJ+fj6vvfYaZrOZkSNH+mOwWq3k5uayb98+LrzwQpKSknjuuecoLS2lvLyc4uJiKisryc/PR6vVcsYZZzB8+HCuueYaLBZLR/0oA4pUr3Uxh6ttvPT1AZpcXrVDOcqotFhuHtObcJPM3wQSq9PDexsPszkAK9tC9Fr+fEk/elvkotGuQno6XUijw80XO0oCMuGMyYjl5rGScAJReIiem8f0ZkyfWLVDaSHMqOOOUfGkeErAaVU7HNFO5AzQheRUWPm5oE7tMI5yVu8YbpQFHQNaeIieG0f1xu1R+OlwrdrhcNmgeC5KdWI6sAjNYTuuUfdgDJHeTlcgZ4Euos7uYtmOErXDOMrQ1ChuG5smCScIhIfouW1sGh6vjx1F9arEMDQ1itsGGYko/h799t24+l1JnrYn3/xUz82jY4gJM6oSl2g/MrzWReRV2QKueKC3JZQ7zk6XIbUgEm7Sc8fZ6fS2hHZqu4kRIfx1YhJ39yokZvtrYI6m7Ix7eflADC+uLWd7QT0Hyk+thFoEJikk6ALq7C7+8W12QCWdSLOexy8fREyofDMNRnV2F08v3Ut906ldoHmqTHotNw2P46yIGkL2f443Oh1bz/P46ICPjXkth/kSI0N46MJ+xEUE7vVF4sTkK2gXEGi9HL1Ww8OT+xEly9oErUiTgYcmZ/HM0r14fB3zvfSC/hau6O3FnLsETbWHpsE3s6o0hKUrK/G1UiVd3uBkV3EdE/ondkg8onNI0glygTiXM/O8DBIiQmSHzyCm1WpIiAhh5nkZvLYmt11fu19SBHcMNRNVuQn93gM4sy5jhy2O/6ypwO5qOO5zV+wqY1BKFAmRpnaNSXQeSTpBLtB6OZcMSWJAUqQsTd8FGPU6BiRFMmVIEit2lbX59WJCDcwYaSHDl49x3xpcvc8nN2oMb26uo7zx5F6/xubiUJVNkk4Qk6QTxAKtlzMgOYKLBycTKpVqXUZoiJ6LBieTX21nb8nxeyHHotfCDWcmMC6mAVPuB3hjM6kYcDtv7WjiYHn5Kb/eN3vLGJAcSZSsahGU5OwQxAKpl2M26JhxToaURndB4SF67jw7nf9dvPuULzwelxHLDVkQevgbcOhozLqGj7Nh/U+nvxhtfpWdkromSTpBSs4QQaqhyc2KXaVqh+E3fXyalEZ3YeEmPdPHp530/E6aJYwZw8OJr9uO9lARjrSJfFdhZsk3lXhObim141qzv5yMuDBCDDKMG2zkLBGkKhqd5FXa1A4DgCGpUfRPjkTfyrLyomvQa7X0T4pkaGoUO49z4WikSc/0ERb66Uow5n+Ds+c57NIP5z9rq7C241I2O4rqKWtw0NsS1m6vKTqHnCWCkM+nsCmvOiB2BDUbdfxuXJpswtYNhIXouX1cWqv7H2m1cO2weP52bgiDq79E43FwKPVqnv3JwLwNZVidnnaNxeNV2JRXg6+DyrlFx5GkE4QqGp1sy1d/fSyA6eNkWK07OTLM9msjekfz0oWxXMRGDDXZ1PS8mLmHkvjbmnJK609+P5xTtT6nivLGjnt90THkbBGEiuuaqOvgK8UFy2YxAAAgAElEQVRPxuAekTKs1s0cGWYb3COSWruLGcMjSWnKRlteiS1pFJ/nwtqtnbNjbaPDw4GyRpKjzJ3SnmgfknSCTJPLw9oD6m9DrdHALWNkWK07CgvRc/f5fdCU7sBQ+T3OpLP4vqkvn62saJcigVOxel8FZ6RGy0KgQUTOGEGmotEZEAsfjs+MIzxEKoe6qxCtgifMwg7n+Sz8vooGR8uiFo/TjstaR6jl2NsvW8vyCE9Kb1McxXVN1NhdknSCiIyLBJk9JfV4vOpOnup1Gq46swdmo3xn6QwOh4NnnnmG2bNn8/jjj2O1tl4F1tjYyAMPPMDw4cO56qqr+Pnnn1s9bv78+fzlL3/x316+fDnPP/88Dz/8MAcOHGhxbFVVFXPnzj3qNTQ6A02hPZi3sZwGR8siAWdjLWXbvsUcm+S/b+e7T/Pj87fw4/O3kLtyYfOdCpRu+/akfgbHs6dYnW0YxOmRpBNEqq1O1udUqx0GFw5IJFSuj+g0Tz31FGeddRYPPfQQkyZN4vHHH2/1uNdff53JkyezcOFCEhISuOeee7DbW148vH//fj788EP/bZfLxRNPPMHdd9/NxIkTmT17dovj33jjDWbMmNFqeyF6LZMHJrW4T1F8HPpmISkjL0ajaT69NBRlE5NxBoOn/YXB0/5Cr7OvBiA8OR2vq4ma3B2n9gP5jZ8O11Jnd7XpNUTnkaQTRCoanR1aDXQyTAYtkwclyUV5naS8vJylS5cyYcIEAMaNG8fq1aspKio66tixY8dy2WWXMXjwYF5++WXq6+vJycnxP+5yufj444+54oor/PfV19fT2NhIREQEUVFRLV73iy++YNKkSYSGtr63TohBx4UDEzH/6rNQsXsdZksyWv0vqwWUbP2KyF79iEobSHT6YAyhEf7HkodP4vB3H6Iopz8ZVFzXRK0knaAhSSdIKIrC1vwatcPgimEprV6nITrG5s2biYmJwWxurtDS6/WkpqayZcuWo44dO3as/98RERGEh4eTlPRLT+TNN99k+vTpaH9VbRgXF0daWhqFhYUcPnyY4cOHA83JrrCwkBEjRhw3PrNBxxXDfpm3Kdu2iuheA/23nQ3V1B/ex67/PMu2+bOwlh9u8Xyd0YTOaKIub8/J/DhapSiwv1T9eU5xciTpBIkam4t9pae34GJ7CdFrGZsRh0EnH5vOUl5eTnR0dIv7wsLCqKg4fgVjXl4eo0aNIiEhAYBt27aRlJREampqi+M0Gg3z5s1j5cqV2Gw2/vznPwOwYMEC7rzzTrZt28abb77JsmXLWm3HoNcyJsNCiF6Lx2mnseQQpl/N5YREWhj9P69x1l0vY7aksOv953BZ61q8hikmkbq8XSf3AzmGLfk1NDrUv4xAnJicPYJEfZOb8ganqjGMy2w+uYjOo9FoMJlaLuPvcrnQ649fxPHee+8xa9YsAOx2O6tWreKqq65q9dj09HRmzpzJzJkzCQ8P59NPP2XKlCm4XC7+9Kc/cdttt/HFF1+wefPmVp9vMmgZn2nBUVsOKBjM4UcdY45JZMA1fyQsviflO79v8ZghNJKm2rZtnVBU00SNTYbYgoGcQYJETkX7rVt1ui6SuZxOl5iYSENDyx6uzWbz92Bas379ekaPHk3Pnj0BWLlyJR988AGjR49m9OjRvPHGGyxfvpyrr776qOcWFxdTUVHBsGHD2LJlC7Gxsej1evr06cPq1atbbc+o1zF5UDI+T3NPQ6Nt/TOi0WpJHn4hzoaWxTBanR6vs+nYP4ST4FUUsgPgb0ScmCSdIGB3edhWoO6yN33iwzEbpES6s40ePZqKigocjuYCErfbTUlJCaNGjWr1+NzcXAoLC7nwwgv991100UWsWLGCJUuWsGTJEqZNm8bEiROZP39+i+cqisJbb73FnXfeCTSXah/pURkMBlyuY/ckzAYdfVKbt5H2uo/dI9doNIQnpbW4z+d1oze1feHOLXk12Np5jTfR/iTpBIFau5tClffNufyMZFljTQXx8fGcf/75bNiwAWjuxVx00UUkJjaf4F9//XWys7MBKCws5MMPP2T8+PEUFRWxf/9+3n//fcxmM0lJSf7/hYeHYzabiY+Pb9HWhx9+yFVXXYXR2Hyh5eDBg6msrASgpKSEgQMHcizhJj3TJpyJzmjC1fjLF6TG4hzqC/YBzReM1h3eS+LQc1s812WtIzShZ1t+TADkV9uolSG2gCdnkSBQa3Ph6Oz1RX4lwqQnLU6WkFfLk08+yUsvvcT+/fupqqri6aef9j/25Zdf0rNnT6Kiorj11lspLS3lnXfe8T8+Z86ck2rj8OHDNDQ0MHjwYP99vXv3ZurUqbzyyivo9foWpdat6ZMYSVzmUOxVxYT9N4k01ZaRu3Ih4UlpRCRnkHb+1KOG3+xVxfQYNeWk4jwej1ehrslN6okPFSrSKIoia4MHuE+2FvLl7rbvUX+6rjgjhSlDk6VqTRyXx+tj3uer+eijj+g75fcn9RyXtY6DS+cx+Ma/nPjgk3DFsBSuHNajXV5LdAw5iwS4RoebfSpfgzCmj0USjjghvU7LDZPPxhgWjb265KSeU7rtWzIm39ZuMRwsb8TpPrUttUXnkjNJgGtoclNS17bKnraIDjW0uOJciOMxGXSccdE06g/vw9l4/OKX6uxtxGQMOe6ioKeqtM4RENt+iGOTOZ0A1+Dw4PKqN59zZs9oWYFAnDSzUcfwNAt1jgvwuo6/ZFNUrwHoQ9p3L5z6Jjd2l1SwBTLp6QS4sgZ111obnykrEIiTZ9BpGZdpAZqXuDme9k44R5TXq3sRtTg+OZsEuMNVthMf1EFC9FriIkJUa18EJ0tYiKorV+wvV3e5KHF8knQCmN3poVjF+ZyBKbIVtTh1Bp2WgSmRqrWfX2WjQeZ1ApacUQJYo9NDtVW9i93G94mT+RxxysxGHeMz41Rrv7zBSaND5nUClSSdAOZwe1X9xtbL0vo+KkKcSK9Y9T47Lo8PmxQTBCxJOgGs0eFBrSt3jXqtFBCI02bQaVWd15HlcAKXnFUCWGm9evM5vWJD0WpUa14EOa0GeqrY2ylvVLfqUxybJJ0Allel3iKfGfFhhBrlMi5xekKNevrEH72vTmcpqVXvC5s4Pkk6AcrqcFOmYk9nQHIkWunqiNOk1WoYkByhWvtVVhd22eYgIEnSCVB2l5eGJvX+aHpEd8yFe6L7SFHxM9TocGNzyRpsgUiSToDyKgoOjzp/NAadRooIRJsZdFqMKn2OrE4PHhWXjxLHJmeWAOX1KaqtlhsbZlSlXdH1xKj0WXK4fbi9smtLIJKkE6A8XgWfSn8zUWYjOpnPEW2k02qIDjWo1r5TpZECcXySdAKUW8WhgehQAwadJB3RNkadlmizekmnSfbVCUiSdAKUmknHEmbEqJflb0TbGPRaYsPVG6qVpXACkySdAGVXsfImIfL4S9ILcbISItT7LKn5xU0cmySdAKXm2lEWKSQQ7SROxZ6OR61JUXFcknQClJpDA2pO/oquJSpUvaTjk6QTkCTpBCg1LwwNkfkc0U7UXPRTejqBSZJOgFLrGh0AjRSuiXai5kdJejqBSZJOgNJLybLoAtT8AuP2SSFBIJKkE6DUXIZGI10d0W7U+yx5pacTkCTpBCiDimPhqLZ1nBDtxyPL4AQkSToByqji8Joif6uinSgqfpikkCAwSdIJUHqter8a+VMVXYFX5nQCkiSdAKXmnI5cyS3ai5orPcvOt4FJkk6AUnPBzXq7W7W2RddS3+RSre0oFRcbFccmSSdA6VTs6dTY1DtRiK5Fzc9ShEmSTiCSpBOgDCruZ1PR6FStbdG1VKr4WQoPkeG1QCRJJ0AZVSyZrrI6Zatf0WYer0/VpBNikNNbIJLfSoBScxK0zu7G6ZGkI9rG5fFRp+L8oJrFOOLY5LcSoNRcKLG+ySVXc4s28/gU6pvUSTpajbrFOOLYJOkEKKNeq9oQW61NqtdE+6ixq1NIYDLo0Kk4LyqOTZJOgDLqNKpNhDa5vfhkWQLRRj5FoUmlHXDNBp2qxTji2CTpBCiTQUeESb15nfIGh2pti66hQsXPkNmow6CTfaECkSSdABUWoidGxV0X95c1qta26BrU/AxFmY2EhkjSCUSSdAKURqOhR4xZtfZzyq3YnOrtXiqCm93pIafCqlr76fGhUr0WoOS3EsCSo9RLOodrbFLBJk6bx6eQX21Trf1esWGqtS2OT5JOAIsNU294zeaUYgJx+nyKgs2p3pbrMaGyBE6gkqQTwEKNOlW3+y2rl2ICcXrKVCwiCDPqMBtlPidQSdIJYGajjrjwENXa33CoGpdHvW+rIji5PF425lar1n5cRIisuxbAJOkEsBizgZ4xoaq1v6OwDodblsMRp8bh9vFzYZ1q7SdFmSXpBDBJOgFMp9MyICVStfYbHR5sLqlgE6fG5vLQ6FDvc5MRH4ZGzXFpcVySdAJcz1j1KtgANh2qkW1/xUnz+nxsPlSjagwpUSZV2xfHJ0knwIWH6AlT8SK3rfk1qlYhieBic3rZkq9e0tFqZPO2QCdJJ8BFmQ2qXq9TWu+Q63XESfP6FEpVrHqMjzARKpVrAU2SToALNerJSopQNYYdhXX4JPGIE/D5FHYWqVdAANA3IVzV69vEiUnSCQJ948NVbX/l3rIOXxLH5XKxf//+Dm2jNXv27On0Nrsqm9PD13vKVY1hSGqUFBEEOKkrDAIxYUZ0Wk2LYa6GooOU71yLMSIWV2MN6RNvQm8KO+Fjv1abu4M9H73U4r7w5AyG/e5p/22v28W2VV/xgXUvI4f2Z9iwYWzcuJEVK1bgdru58sorGTNmjP94h8PBnDlzeOSRR076/VmtVt5++21+//vfA/Dee+/xr3/9C0VRuOWWW7j77rv9xxYUFDB//nwiIyMxm83cf//9/sdWrVrFTz/9RGJiInl5eTz44INER0e3aGvp0qU0NDSQmprK+PHjURSFRYsWceONN550vKJ1NXaXqquT67UaEiOliCDQSU8nCESY9CT96o/J3WTl4NJ5ZEy6ld7nXEt02mByvnrzhI/9Vn3BPvpf/QBDb3uSobc9Sa9zryO273D/454mG/sX/wNL3+E4U88ia8BgAJ566immTp3K1KlTefbZZ1u85htvvMEdd9xxSu/v2Wef5cYbbyQkJIQdO3Zw6NAhXn/9dWbOnMncuXP56quvmt+b280999zDvffey6xZs3A6nXzwwQcA1NTUMHfuXGbNmsXvfvc7zjzzTObMmeNvQ1EUHn/8ccLCwrj55ps577zz0Ov1DB48GKvVytq1a08pZtGS3eVh2Y4SVWNIiTYTZZYigkAnSScIRIcaGZoa5b9dfXArelMYOmNzIortO5yq/Vtw1FUc97HfSho+ibj+o4jskUlkj0wcteXE9Rvpf3z/4n/QY9QlmGIS2FFYh8vbXDpdVFREREQEUVFRFBUV+Y/fvHkzaWlpJCYmnvR727JlC263G4vFAoDdbuexxx5jwIAB3H777UyePJlNmzYBsHLlSsLDw0lOTgZgwoQJzJ8/3x9TXV0dXm9zpV1ISAhW6y+rHM+bN4+4uDgmTpx4VAw333wzs2fPxiel4afN5VH3glCAwT2iiJSkE/Ak6QSJM3r+MkzkdTbhstb6b+sMIRjM4dgqi4772G+ZouL8/1Z8PppqygiN6wFAdfY2mmrLsJbls+fDl8j9dhHf7SvF4/UxYsQICgsLKSgoYPjw5p6RzWZjzZo1XHbZZaf0vt5///0Ww3Njx45t8XhiYqI/yWzcuJEePXr4H0tPT6e4uJji4mIGDBiAyWTihRdewOfz8cMPP3DfffcBUFVVxfz58zGZTDz88MM8/PDDVFT8koRDQ0MJCwtj/fr1pxS7aObx+ViXU4XatSaDe0Sd+CChOkk6QSI2zOgfr45OG4TL1kDFrh8BaKopw91kBUU57mPHU1+4n6he/f23K/esJyIlk5QRk8m6/C6q9m1k3j/nYnd7efHFF9m1axcHDhzgxRdfBJqH1WbMmEFubi5vvPGGf9jrRNavX09aWtoxH8/Ozubqq68GoLy8nJiYGP9j4eHNBRYVFRUYDAb+/e9/s2rVKq6++mpuu+020tPTgea5nqSkJK677jpeeuklbDYb99xzT4t2evfuzbp1604qZtFSk8vLqn3qFhDEhBpkZekgIUknSFjCQxjWq7m3E5bQi/5X30/ZjjVkL3+d8p1rQfERakk57mPHU31wK5asEf7b9qpiIlOz0Or0GEIjSDzjfIp3/Eh2eSMWSxx33XUXM2fOJC4ujnXr1tGvXz9iYmK46667uOaaazhw4ACff/75cdusq6ujrq7uqMn+IzZv3sw555xDfHw80LyxXUjILwugulwuAPT65noYq9XK448/TlJSEvfddx9lZWUA5OTk0LdvX2JjY9FqtcyYMYNdu3aRl5fnf62YmBjy8/OPG684ms+nkF1upaFJ3eWSspIisUipdFCQpBNEzvzVEFtcv5EMveUx+l76e7xOB+HJGZgtySd87FispXmEJ2f4bys+b4vS07CEXribbCzaVNhiPbbGxkZ+/PFHLr74Yg4ePIjVaiU2NpbMzExWr1593DadTicAulb2srfZbKxdu5bp06f770tMTKShoaHFMQAJCQnU1dXxyiuvMHHiRF599VV69+7N//7v/wLg8XhavJd+/foBzUnvCKPR2GIOSJwcm8vDos0FaofBiN4x6GSn0KAgv6Ug0jzE1nKrA0d9FeW7vidj0i1HHX+8x37NWppHeFLaUUnGXlPqv63RagmNS6HW7mLb4Vo8/510nz9/PjNnzmxuz+Hw9zr0er2/J3IsR3o4TU1NLe73eDy8+eab3HvvvS1iGjduXIveSV5enr9wYePGjURGNi+OajAYePrpp/npp5+A5iTz6+fpdDr0en2LYT2n00lUlMwJnAqPz8f2w7XU2I7/e+5oESY9ydFSKh0sJOkEkeYhtl/mNLwuR3N59IW3Epma1eLYYz1WtHHZUUUF1Qe3YvlV1RpAyoiLqMnehs/jBqChOJuUEZMB+HRbEXanlzVr1jBs2DD/PEtmZiZOpxOXy0VJSQkDBw487vsJCQkhPT2d8vJf5gN8Ph8vv/wy5513HjU1NRQUFLBgwQKsVisTJ06ksrKS2trmQokffvjBX56dlZVFdnY2yn/nrnQ6HUOGDAHg8ssvp6amhuzsbAC2b9/OZZdd1mJ+qLKy0t8DEifH7vTy6bZitcPgrLRYElTcd0qcGo2iyJ7EwSS7vJGnP95IXf4erGV5xPUfTWRqX//jLmvdMR8D2P7W/9Jz7BXE9R/lv2/ne88y5MZH0Whbfgep2P0jDYUHMFuS8bnd9Bx/pf+xi/pGkLduKX+e9f9aPGfx4sUcOHCAiooKHn/88RP2Hv7v//6PmJgYf2/pr3/9K5988kmLY8455xzeeOMNAPbu3cv7779PQkICRqORu+66y3/cihUr2LVrFxkZGRQVFTF16lRSUprnsnbv3s1bb73FsGHDKCoq4v777/cXIgBcddVV/O1vfzthohTNXB4f3+wt4zOVk44G+PMl/embqO5SUeLkSdIJMlVWJy9/fYCKRqeqcRj1Wl64dmibL8YrLS3l8ccf5/XXX2+nyE5dZWUls2bN4q233lIthmBT3+TmkU934vSoe21Tb0sof5yUJdfnBBEZXgsyljAjI9Ji1Q4Dl8fHsh0lNLVxk7fk5GQmTJjAhg0b2imyU7do0SIee+wx1doPNk0uDyt2lqiecADO6xcvCSfISNIJMhqNhhFpMRj16v/q1uyvaJce10033UR5eTmHDh1qh6hOzerVqzn77LPJyMg48cECgIpGJ9/uO3qFi85mNurITFB3MVxx6mR4LQi5PF7eWp+v+g6NAHHhRv73soHtsnGWzWYjLOzohUk7ktVqbTG3I46v0eHm2WX7qLKqO7wLMLaPhdvHpWGQUumgIr+tIGTU65jQL4FAWMG9yupixc7SNg+zAZ2ecABJOKegyeXhy12lAZFwAMZnxknCCULyGwtSKVEmMhMCo2Lnm73lqhc2iI5X0ehkpcr75RzRI9rcYuV1ETwk6QSpcJOBiwad/GrOHUkBXluTQ6PDrXYoooM0Oty8tiaXQBmLPzcrnhhZ9iYoSdIJYr1iQ0mKCoxve1VWF8t2lGBvh2E2EVjsLg/LdpYEzLBaTKiRwamyekSwkqQTxCzhIVwwIDB6OwCr9lWwp7gep8erdiiinTjdXvaUNLBqr/rVakdcMiRJhtaCmCSdIDcgKYIIU+DsOv76D3lUNDhbbK0tgpPPp1DR6OSN7zu/lP1YLOFG2TcnyEnSCXKJkSbO6Ruvdhh+Xp/CyysP0CDzO0Gv3uFm9soDeALoC8SUIcn+faVEcJKkE+S0Wg1j+lgIDwmc3k6jw8Mrqw5KYUEQa3S4mbsqmwZH4MzRxUeEMDA5Uu0wRBtJ0ukCUqJMXDI4Se0wWiisaeL9TQXYnIFz0hInx+b0sGhTAQU1drVDaeHSockkSC8n6EnS6QI0Gg3De8cQFx5YJaSb82r4Zm+ZVLQFEbvTw7f7ytmUp/5qF7+WEBFC/yTp5XQFknS6iIRIE1ee2UPtMI6ydEcp3x+olMQTBOwuD99nV7Lk5xK1QznK5WekEB8he+Z0BZJ0upABSZGkWULVDuMoH/9UxIacakk8Aczu8rAxt5qPtxad+OBOlhJtol9SYKy+IdpOkk4XEhNm5NoRPdEGwJpsv/X+5gJ+zK6SxBOA7C4P67KreG9TgdqhHEWn0TB1ZC8ssjNolyFJp4tJjwtjdIZF7TBa9eGWQtbsr8AuxQUBw+b0sGZ/BR9sKVQ7lFadnRUn2xd0MZJ0ToPb7ebzzz/nmmuuwelsXhrk559/5tlnn/Xf/q1t27YxceJEVqxYwQMPPMD27ds7JDazQcdFg5IIM+o65PXb6rNtxSzfVYpVEo/qbM7mVaPV3nL6WGJCjVw4MBGTITA/y+L0SNI5DQaDgauvvhq9Xs+TTz4JwLBhwxg4cCAhIa0PAwwfPpzo6GimTJnCFVdcwb///e8Oi69HtJnLzkjpsNdvq692lzH/+1wamuQ6HrU0NLn59/e5fLm7TO1QjmnaqJ4kR5nVDkO0M0k6bTBt2jQA3nvvPQB8Ph9vvPEGq1ev5umnn8btbv2kWlBQQHp6OgD/+te/ePHFF3niiSdYvHgxa9eu5Q9/+ANFRUVceuml1NbWsnDhQvLz8086Lq1Ww6j0WLISA3fydU9xA8+v2EdVoxOPV/1tj7sLj9dHVaOT51fsY09xg9rhHNNZvWPoLxeCdkmSdNroqaeeYsWKFWzbtg2fz4fP52PixInExsbyzTfftDi2sbGR1157jYMHD/LQQw8BkJiYSGZmJjNmzGDTpk2cd955aDQaEhISsFgslJaWkpiYSFpa2inFFR1qZOrInoSFBO7QREWjkye/2ENelQ2HWxYJ7WgOt5e8KhtPfrEnoPc/Cg/Rc/kZKQG1yoZoP5J02shoNDJ79myeffZZvF4vNTXNF9VZLBaMxpYXa4aEhDB9+nRKS0s5fPhwi8c0Gg1Hdg6fOHEiL774Ig8//DBz584lOTn5tGLrbQll2qhep/XcztLk9vJ/X+1nfU6VrF7QgWxODxtyq/i/r/bTFOAJ/prhPUiNkWG1rkqSzmnatm0b+/fvx+l0kpiYyBNPPEF4eDhOp5MvvvgCu93OhAkT/Mfv3LmTuro6qqqqeOmll3jsscf47rvvyMvLo6CggMLCQsrKynA4HEyZMgWz2cwZZ5xBjx49GDp06GnFqNFoGJoaHbDVbEcoCry3qYA3fjhEnd2FxyfDbe3F4/NRZ3fxxg+H+M/GApTAWbuzVf2SIhjWMxpNIOzFLjqERlEC/WMo2qqsvonZ3xyk2upSO5QTMht1TB+fRv+kSMJkeKVNbE4PB8oaeHNdPk2uwO7dAIQZdTw4OYv0OCmR7sok6XQTu4rq+MfqnKDZ52ZoahS3j0sj3KRHr5UO+anw+HxYHR7eWZ/PzqJ6tcM5KRoN/P7cDEalxUovp4uTpNNNON1elu4oCegS2d860uvplxQpk8onyepwc7C8MWh6N0dcODCRK4elYDbK77mrk6TTjVRbnby6Oifglqw/kcyEcG4d25uYUKMMuR2Dzemh1u7i3Q2Hyamwqh3OKemTEM4fzs2QpW66CUk63Ux+lY2532ZTH4QXZg5NjeLGUb2IMOnlG/F/Nbk8WP+7/82OIBlK+7Uos4H/mdSX3pYwtUMRnUSSTje0t6Sef67OweEJvioxjQbGZVi4engqoUYdId10iRSn24vd5eXz7UWsz60O+Kq01hh1Wu6Z0IchqdFqhyI6kSSdbsjrU9iSX8ObP+ThDdJfv16r4fx+8Vw4KAmTQddt5nysTg8Ot5dVe8tZs78CT5AUhrTm1jG9GZ8Zh0EvhSLdiSSdbsrp9vLdgQo+CsD9U05VVmIEl5+RQs8YM+YQXZerdvP4fNhdXoprm1i6o4QDZY1qh9RmE/oncPWZPWSOrhuSpNONWR1uFv9cwpr9FWqH0i6izAYmDUxgXJ84jDotoUF+QrM7Pbi8PjbkVrNqbzl1QTgP15qhqVHcMrY3ljApHOiOJOl0c7U2Fws3BM/1HCdDq4EByZGMy4yjf1IEOo2GsBA92kDc3e5XfD4Fm9ODV1HYX9bIhtwq9pU0Bu0QaGv6J0Xwu/HpsvV0NyZJR1De4OBf3+VQWNOkdigdomesmVFpFkakxWAy6DAZtBj1gVGA4PJ4cbh9ONxetubXsiW/JuhK2k9WZkI4d56dTkKkSe1QhIok6QgACqrtvLo6m2pb4C+V0xYxoQayEiMYkBxJRnw4EabmIbjOSERHEgxAo8PDoUor+0obOFjeSK29awydHUsvSyh/ODeDJNkfp9uTpCP88qps/HttLpUBvOx9e9MACfsYRrsAAAZDSURBVJEh9LaEMTA5kp6xof9dekeDVqNBoXm4zqDTYtBp0B2jSMHnU3B5fbg9Pnz/fV2fouDxKVgdHgpr7OwrbSC/2k5Fg4Pu9EfXI8bMXef1ISVaEo6QpCN+o6Dazvzvcymtd6gdiup0Gg0RZj3RZiNRoQYiTHp0Wg0GrQa9rjn5eLw+3D4Fn0+hweGh3u6mrslFY5OnS83FnK7ESBP3TOhDakyo2qGIACFJRxyluLaJ13/I7bJzPKJzxIWHcO+ETHpZJOGIX0jSEa0qrW/izR/zOFRpUzsUEYQs4UbuPj+T9DhZ3ka0JElHHFN5g4N31ud3iYsRRedJiwtj+rg0UmOlhyOOJklHHFdlo4P3NxV0qet4RMc5Ky2G689KJT5CyqJF6yTpiBOqsTn5cEshW/Nr1Q5FBCgNcPHgJCYNTCQ61Kh2OCKASdIRJ6XO7mLN/gpW7ColiNeYFB1Ar9MwbWQvRqfHBv3SQ6LjSdIRJ63J7WVHYR3/2XCYJnfw7EopOk6YUcf0s9MZ1CMSoy4wVnkQgU2SjjglPp9CbqWVN3/Mo6IbXUQqjhYXbmTGORlkJoSj0QT2unYicEjSEaeltK6JT7YV8XNBndqhCBUMSonkhpE95aJPccok6YjTVt/kYkNuNZ9vL8bjlY9Rd2DSa7lqeCqj0mKIkoIBcRok6Yg2cXm9HCyzsnB9fpdfLLS76xVr5qYxvUm3hPmXARLiVEnSEe2ipK6Jr3aXsSG3SqrbuhidVsPkQYmc3y+BuHDZB0e0jSQd0W7sLg/Z5VY+2FwgRQZdRFx4CLeO7U3fhHBCDFKdJtpOko5odxUNDr7PrmTV3nLcMtcTlDTA2D4WLh2aLHvgiHYlSUd0CJfXy+EqOx9uKSSvShYNDSYJESFcP6In/ZIiCJOLPUU7k6QjOlStzcVPh2tZ8nMxdpdcUBrIzEYdlwxOYlS6hfgImbsRHUOSjuhwPp9CYa2d5TtL2F5QJ4UGAUan0TAiPYaLByXTI8aMTisXeoqOI0lHdBq7y0NxbRNf7ipjV7Ekn0AwIDmSK85IoaclFLMUCohOIElHdDq7y0NRTRNf7i5ld3G9JB8V9LKEcvWwHqTHhxFhMqgdjuhGJOkI1dicHopqm/hyVym7S+qRT2LH0gAZCWFcNDCJjPhwYsJkRQHR+STpCNXZnB4Ka+18uauUPSUNknzamVGnZVivaM7vl0BytIlI6dkIFUnSEQHD6vRQUtvEupwqthfUYpNqtzaJNOkZnxnPyPQYkiJNcnGnCAiSdETA8Xh9VDQ6yauysfZABXlVNpn3OQUp0SYmDUgiKyn8/7d3L69NBAEcx3+z2WeySdM0sdhWqSJCBfEign++V8VjPfRgRQgtrWnz3s0+PagIHjxOHv1+LnOdy/JldmZnddgO5XAaDRuE6GCjzdJct7OVPn2708fLO42X+bqntJE6oauzo47eP+/reD9Ur8V3NthMRAdboa5r3cxWGt4n+nBxo4vrubKyWve01qobeXp1vKd3pz0N2oEGsa8Gtz9jwxEdbJ0kKzRaZLoaJ/r8/V4X13NNkoexAtpv+np90tHb0576caB+i9BguxAdbLWirDRaZBovc325muh8ONVwnCgrdmMVFHqOHu9FevEo1psnXR20fPXjgH0abC2ig50yXxWaLDONFpnOh1N9/THXaJ5txUrIGOmgFehkP9LZUUdPe021A1edyOPiTewMooOdtlgVmqWFVkWpaVJoOE50eTvX9TTVaJ4pyddzLNttGO1FnrqRp2eDWC8P2+rHvlqBq27k8WdO7CyigwenrmtN00LLVaEkL3W3yHQ7W2ma5posc03TQmleKs1LJb/HVV7pfw+KkeQ4Rg1j5DiS6zhq+g3FoatO6GnQDtRvBxrEgeLAVeg5ClxHzcBV02cVg4eD6AD/KMtKaVEpKyrlZaWyqlVUtYqyVllXMsb8iowxMubv+GeXxRgjx0h+o6HQdxR5DRnDHgwgER0AgEW8OAYAWEN0AADWEB0AgDVEBwBgDdEBAFhDdAAA1hAdAIA1RAcAYA3RAQBYQ3QAANYQHQCANUQHAGAN0QEAWEN0AADWEB0AgDVEBwBgDdEBAFhDdAAA1hAdAIA1RAcAYA3RAQBYQ3QAANb8BBecvTVqeZ6uAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Pie chart\n",
    "labels = ['No Rnw',  'Contains Rnw']\n",
    "sizes = [(df['rnw'] == 0).sum(), (df['rnw'] == 1).sum()]\n",
    "#colors = ['#ff9999','#99ff99']\n",
    " \n",
    "fig1, ax1 = plt.subplots()\n",
    "plt.rcParams['font.size'] = 15\n",
    "ax1.pie(sizes, labels=labels, autopct=make_autopct(sizes), startangle=30,  textprops={'fontsize': 14}, wedgeprops={'alpha':0.7})\n",
    "\n",
    "#draw circle\n",
    "centre_circle = plt.Circle((0,0),0.70,fc='white')\n",
    "\n",
    "fig = plt.gcf()\n",
    "fig.gca().add_artist(centre_circle)\n",
    "\n",
    "# Equal aspect ratio ensures that pie is drawn as a circle\n",
    "ax1.axis('equal')  \n",
    "plt.title(\"Packages contain Rnw?\", size=18)\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.show()\n",
    "fig1.savefig(\"plots/rnw.png\", dpi=100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Success rate in dataset level"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2091"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df.doi.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7414"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df1 = pd.read_csv(\"data/aggregate_results_env.csv\", index_col=0)\n",
    "len(df1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.3983761840324763"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "success = len(df1[df1.result == 'success'])\n",
    "total = len(df1[df1.result.notna()])\n",
    "success*1./total"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## aggregate result per dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "df1 = df1[df1['result'].notna()]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>success</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/NVRBC9</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/WCTILJ</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi  success\n",
       "0  doi:10.7910/DVN/WGPDBS      1.0\n",
       "1  doi:10.7910/DVN/BPON3K      1.0\n",
       "2  doi:10.7910/DVN/ZWAGXZ      0.0\n",
       "3  doi:10.7910/DVN/NVRBC9      1.0\n",
       "4  doi:10.7910/DVN/WCTILJ      0.0"
      ]
     },
     "execution_count": 71,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ndf = df1.groupby(['doi'], sort=False)['success'].max().reset_index()\n",
    "ndf.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>doi</th>\n",
       "      <th>success</th>\n",
       "      <th>list_of_all</th>\n",
       "      <th>comments_no</th>\n",
       "      <th>dependen_no</th>\n",
       "      <th>list_of_libs</th>\n",
       "      <th>total_size</th>\n",
       "      <th>sizeMB</th>\n",
       "      <th>files_count</th>\n",
       "      <th>docs</th>\n",
       "      <th>...</th>\n",
       "      <th>wflow_lib</th>\n",
       "      <th>dockerfile</th>\n",
       "      <th>space</th>\n",
       "      <th>other_code</th>\n",
       "      <th>rmd</th>\n",
       "      <th>rproj</th>\n",
       "      <th>rnw</th>\n",
       "      <th>comments_no_files</th>\n",
       "      <th>avg_file_len</th>\n",
       "      <th>unique_libs_no</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>doi:10.7910/DVN/WGPDBS</td>\n",
       "      <td>1.0</td>\n",
       "      <td>campaign_effects_replication.do;replication_da...</td>\n",
       "      <td>17</td>\n",
       "      <td>1</td>\n",
       "      <td>ggplot2</td>\n",
       "      <td>12105318</td>\n",
       "      <td>12.11</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.666667</td>\n",
       "      <td>28.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>doi:10.7910/DVN/BPON3K</td>\n",
       "      <td>1.0</td>\n",
       "      <td>fig_10_effect_of_winning_on_gov.R;tab_8_campai...</td>\n",
       "      <td>194</td>\n",
       "      <td>111</td>\n",
       "      <td>ggplot2;lm_2008;lm_2004;character.only=TRUE;li...</td>\n",
       "      <td>2959665</td>\n",
       "      <td>2.96</td>\n",
       "      <td>34</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5.705882</td>\n",
       "      <td>24.03</td>\n",
       "      <td>22</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>doi:10.7910/DVN/ZWAGXZ</td>\n",
       "      <td>0.0</td>\n",
       "      <td>sponsorship_1_v3_November+6%2C+2017_12.32.csv;...</td>\n",
       "      <td>168</td>\n",
       "      <td>21</td>\n",
       "      <td>sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...</td>\n",
       "      <td>5350420</td>\n",
       "      <td>5.35</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12.923077</td>\n",
       "      <td>28.62</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>doi:10.7910/DVN/NVRBC9</td>\n",
       "      <td>1.0</td>\n",
       "      <td>Lueders_et al_2017_driverslicenses_replication...</td>\n",
       "      <td>225</td>\n",
       "      <td>20</td>\n",
       "      <td>mapproj;maptools;dplyr;rgdal;ggrepel;ggalt;alb...</td>\n",
       "      <td>451339</td>\n",
       "      <td>0.45</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>75.000000</td>\n",
       "      <td>37.67</td>\n",
       "      <td>19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>doi:10.7910/DVN/WCTILJ</td>\n",
       "      <td>0.0</td>\n",
       "      <td>Script.R;Dataset.tab</td>\n",
       "      <td>21</td>\n",
       "      <td>4</td>\n",
       "      <td>readxl;plspm</td>\n",
       "      <td>28411</td>\n",
       "      <td>0.03</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10.500000</td>\n",
       "      <td>6.50</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 24 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                      doi  success  \\\n",
       "0  doi:10.7910/DVN/WGPDBS      1.0   \n",
       "1  doi:10.7910/DVN/BPON3K      1.0   \n",
       "2  doi:10.7910/DVN/ZWAGXZ      0.0   \n",
       "3  doi:10.7910/DVN/NVRBC9      1.0   \n",
       "4  doi:10.7910/DVN/WCTILJ      0.0   \n",
       "\n",
       "                                         list_of_all  comments_no  \\\n",
       "0  campaign_effects_replication.do;replication_da...           17   \n",
       "1  fig_10_effect_of_winning_on_gov.R;tab_8_campai...          194   \n",
       "2  sponsorship_1_v3_November+6%2C+2017_12.32.csv;...          168   \n",
       "3  Lueders_et al_2017_driverslicenses_replication...          225   \n",
       "4                               Script.R;Dataset.tab           21   \n",
       "\n",
       "   dependen_no                                       list_of_libs  total_size  \\\n",
       "0            1                                            ggplot2    12105318   \n",
       "1          111  ggplot2;lm_2008;lm_2004;character.only=TRUE;li...     2959665   \n",
       "2           21  sylcount;sandwich;tidyverse;RCurl;acs;RJSONIO;...     5350420   \n",
       "3           20  mapproj;maptools;dplyr;rgdal;ggrepel;ggalt;alb...      451339   \n",
       "4            4                                       readxl;plspm       28411   \n",
       "\n",
       "   sizeMB  files_count  docs  ...  wflow_lib  dockerfile  space  other_code  \\\n",
       "0   12.11            3     0  ...          0           0      0           1   \n",
       "1    2.96           34     1  ...          0           0      0           0   \n",
       "2    5.35           13     1  ...          0           0      1           0   \n",
       "3    0.45            3     0  ...          0           0      1           0   \n",
       "4    0.03            2     0  ...          0           0      0           0   \n",
       "\n",
       "   rmd  rproj  rnw  comments_no_files  avg_file_len  unique_libs_no  \n",
       "0    0      0    0           5.666667         28.00               1  \n",
       "1    0      0    0           5.705882         24.03              22  \n",
       "2    0      0    0          12.923077         28.62               9  \n",
       "3    0      0    0          75.000000         37.67              19  \n",
       "4    0      0    0          10.500000          6.50               2  \n",
       "\n",
       "[5 rows x 24 columns]"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ndf = ndf.merge(df, on = 'doi')\n",
    "ndf.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## aggregated no other code"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.453663793103 out of 928\n"
     ]
    }
   ],
   "source": [
    "mdf = ndf[ndf.other_code == 0]\n",
    "\n",
    "total = len(mdf)\n",
    "success = len(mdf[mdf.success == 1])\n",
    "print(str(success*1./total) +\" out of \"+str(total))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x12162bcd0>"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"success\", y=\"files_count\", data=ndf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x122522ad0>"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"success\", y=\"docs\", data=ndf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x121e5bf50>"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"success\", y=\"docs\", hue='other_code', data=ndf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x122a1a690>"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"success\", y=\"unique_libs_no\", data=ndf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x122ab50d0>"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"success\", y=\"comments_no\", data=ndf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x122a01a50>"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYEAAAEKCAYAAAD0Luk/AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi40LCBodHRwOi8vbWF0cGxvdGxpYi5vcmcv7US4rQAAEaxJREFUeJzt3X1sjff/x/HXqXM6o9VhVdQi1rmpbqtpsmDZShBnmyLzZW4itiC6heGfbWFsy7obs/y26IJMFuYm7iaLiJuOnyH8YWvR2pwqRgxV7Ua1bqqn5/z+ECdfQ139tdd1VT/Px1+nda7zeXc5Oc9d5+ZzPOFwOCwAgJGi3B4AAOAeIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABvO6PUBt8vLy3B4BAB5KaWlplq5nWwQCgYBWr16twsJCzZs3Ty1atNAXX3yhli1b6uuvv1ZUlLWTEKt/CADglrr8D7RtEYiOjlZWVpZyc3O1du1atW7dWtOnT1dqaqpdSwIA6si2CCQlJUmSgsGgnnvuOcXGxmrZsmXq0aOHMjMzLd9OIBCwa0QAMJ6trwmEw2EdOnRIU6ZMkdfrld/v16xZs+p0G8nJyTZNBwBNU12eDrL13UGbN2/W+PHjFQqFIr/r27evnUsCAOrAtjOB7OxsHT58WHv37pXP59PVq1fl9/vVu3dvu5YEANSRbRGYPn26XTcNAGggfFgMgKtCodAdTxnDWUQAgGtCoZAyMzOVmZlJCFzSqD8xDKBpq6io0MmTJyOX4+LiXJ7IPJwJAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGMzr9gCAqWqulyscrHJ7DFcFK6/81+VSBaPM/u8hSR7vI2r2aJxj6xEBwCXhYJXOfz3Q7TFcVVHtkRQvSbqw5DVd9YXdHagR6Djrfx1dj6eDAMBgRAAADEYEAMBgRAAADEYEAMBgtr07KBAIaPXq1SosLNS8efN09uxZ+Xw+XbhwQRMmTLBrWQBAHdh2JhAdHa2srCy9//77Wrt2rXbu3KnBgwfL4/EoLy/PrmUBAHVg25lAUlKSJCkYDCopKUlnzpyRJLVv315HjhxRWlqapdsJBAJ2jQi4qkuCcx8IwsMjWB3UcQcf92z9sFg4HNahQ4fUr18/FRcXS7oVhVAoZPk2kpOT7RoPcFWw4qLbI6AR8vq89X7cq8uzLbZGYPPmzRo/fryioqJ06dIlSVJxcbFSU1PtXBYAYJFtEcjOztbhw4e1d+9eNW/eXAMHDlROTo48Ho/lp4IAAPayLQLTp0+366YBAA2EzwkAgMGIAAAYjAgAgMGIAAAYjAgAgMGIAAAYjAgAgMGIAAAYjAgAgMGIAAAYzNYN5ACgNi29YT3RsjpyGc4jAgBcE+WRPkq7FLkM5xEBAK7iwd9dvCYAAAYjAgBgMCIAAAYjAgBgMCIAAAYjAgBgMCIAAAYjAgBgMCJgiFAopFAo5PYYABoZImCAUCikzMxMZWZmEgIAd2DbCANUVFTo5MmTkctxcXEuTwSgseBMAAAMRgQAwGBEAAAMRgQAwGBEAAAMRgQAwGBEAAAMRgQAwGBEAAAMRgQAwGBEAAAMVqcIFBUVadu2bTp9+rRN4wAAnGQ5AosXL9aCBQv0xx9/aNWqVVq3bt0Dj9m+fbuysrIkSSdOnNDkyZM1Y8YMdrIEgEbC8i6irVq10tKlSyM/b9iw4YHHpKSkaPfu3ZKkn376SdOnT1dqamrdpwQA2MJyBCorK1VQUKCYmBgdPXpUBw4c0KhRo2o9xuPxRC4/88wzWrZsmXr06KHMzEzLAwYCAcvXxb1VVlZGLhcVFSkmJsbFaXBblwS29MbdgtVBHXfwcc9yBMaMGaOlS5eqsLBQXbt21Zw5c+q0kN/vl9/v16xZs+p0XHJycp2uj7uVl5dHLnfr1o3vE2gkghUX3R4BjZDX5633415eXp719axeMS4uThMnTtTNmzclSbm5uRo8eHCdh+vbt2+djwEA2MNyBCZPnqzY2Fg1b95cknT27NkHRuDkyZMqKSnRuXPnNH/+fPn9fvXu3bt+EwMAGozlCHTp0uWOp4CKi4sfeEx6errS09MlSQsXLvx/jAcAsJPlCFRVVenzzz9XbGyspFtv+fzmm29sGwwAYD/LEejevbuSkpIUFXXrowWPPPKIbUMBAJxhOQLjx4+/4+fnn38+cnnZsmV68803G24qAIAjGmTvoHA43BA3AwBwWINE4L8/FAYAeHiwiygAGKxBIuD1Wn5pAQDQiFh+9C4pKVFubq6qq6slSUePHtXs2bMlSRMmTLBnOgCArSyfCbzzzjsqLy9XOBxWOBzmdQAAaAIsnwm89NJLGjduXORnK58YBgA0bpYjcOTIEb322muKiYlROBzWxYsXlZOTY+dsDaL8WpVuVte4PYarrly5FrlcduWabsrn4jSNQ7SvmeJa8IFHwHIEpk6dql69ekWeBiooKLBtqIZ0s7pG/qwf3R7DVZ7gDd3ePPr1/9mssLe5q/M0Bts/+I/bIwCNguXXBA4cOKAPP/xQkvTLL7/c8UUlAICHk+UIXL9+XYMGDZIkDRgwQJ9++qltQwEAnFGnDeRu3rypkpISLVu2TG3btrVzLgCAAyyfCQwYMEDnzp3TkiVL1K5dOy1atMjOuQAADqj1TCA3N/eOzeF69uyp5ORkhUIhbdy4URMnTrR9QACAfWqNwPr169WhQwf5fD7t3r1bffr0iXy95J9//unIgAAA+9QagY8//liPPvqopFtfL/nqq69G/u2jjz6ydTAAgP1qjcDtAEhSaWmpFi1apLZt2yo/P19///237cMBAOxl+d1Bb7zxhg4ePKhDhw6pb9++8vv9ds4FAHCA5XcHlZSUqLi4WG3btlUwGNSCBQvsnAsA4IA67SJ65cqVyLuF2EUUAB5+ddpFdOzYsZGf2UUUAB5+TX4XUQDA/TX5XUQBAPfHLqIAYDB2EQUAg7GLKAAYjF1EAcBgdXo66OrVq/J4PIqNjY1sJAcAeHhZjsCkSZMUCoXUv39/tWjRQosXL7ZzLgCAAyy/JpCamqpp06ZFft62bZsk6cqVK2rVqlXDTwYAsJ3lCFRWVurtt99WXFycampqVFhYqL179+rs2bNauXKlnTOinsLNHlHNo60jlwHgNssRGDRokJ5++um79gzKz89v8KHQwDweVfTIiFwGgNvq9MLwhg0blJiYqKKiIlVUVCgxMVGvvPKKnfOhoXg8BADAXSxHID8/Xz179pR06+2is2fPfuAx27dvV1ZWliRp69at2rFjB08dAUAjYjkCffr0UcuWLRUKhbRy5co7voD+flJSUlRZWakbN25o586dGjx4sDwej/Ly8uo1NACgYdT6msD58+cjlzt06KA1a9Zo3bp1qqqq0sSJEx9447dfPzh+/LhiY2MlSe3bt9eRI0eUlpZmacBAIGDpevcT1y6xXsejaaoOBut936qvLglxrq6PxilYHdRxB++btUZg7ty5at26tXw+nw4ePKjk5GTFxMQoJiZGW7du1YgRIywt4vF45PP5JEnBYFChUMjygMnJyZavey+l5dfqdTyaJp/XW+/7Vn0FKy66uj4aJ6+v/vfNujzbUmsEFixYoDZt2kiSNm3apOHDh0f+7auvvrK8SFJSki5duiTp1pfRpKamWj4WAGCfWiNwOwDSre8Y3rRpk9q2bav8/HwdPnz4gTd+8uRJlZSUKBgMauDAgcrJyZHH47H8VBAAwF6WPycwefJkbdmyRbt27VJ8fLyys7MfeEx6errS09MlibeSAkAjZDkCUVFRysjIUEZGhp3zAAAcZPktogCApocIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBiAAAGIwIAIDBHI/ADz/8oEmTJmnt2rVOLw0A+Bevk4tdvnxZp06d0vz58/X44487uTQA4B4cPROoqqpSjx499NZbb6moqMjJpQEA9+DomUBCQoLGjBmj9PR0rVixQu+9994DjwkEAvVaM65dYr2OR9NUHQzW+75VX10S4lxdH41TsDqo4w7eNx2NwG3t2rXTU089Zem6ycnJ9VqrtPxavY5H0+Tzeut936qvYMVFV9dH4+T11f++mZeXZ329eq1URxs3btSZM2fUvXt3DR061MmlAQD34GgERo4c6eRyAIAH4HMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABiMCAGAwIgAABvM6uVgwGNTy5cuVmJioVq1a6YUXXnByeQDAvzh6JrB161Z16tRJL7/8sn788UcnlwYA3IOjETh8+LA6dOggSaqqqlJ5ebmTywMA/sXRp4M8Ho+83ltL1tTUKBQKPfCYvLy8eq/73ZiUet8GmpYzJwI64/YQkvTqcrcnQCNTWvSXpL8cW8/RCKSmpurs2bNKSUmRz+dT69ata71+WlqaQ5MBgJk84XA47NRiwWBQK1euVJs2bdSmTRu9+OKLTi0NALgHRyMAAGhc+JwAABiMCACAwYgAABiMCACAwYgAABjM0c8JwDn326fpwoULysnJkdfr1YABA9SxY0eXJ4WJtm/frtzcXH3wwQeR3xUWFio/P1/Xr1/XyJEjFRsb6+KE5uBMoIm63z5N3377rTIyMjR8+HAtXrzYxQlhspSUFFVWVt7xu2+//VajRo1Sv379tGrVKpcmMw8RaKLut0/T0aNH1aZNG8XExOjUqVNujgiDeTyeu353/vx5RUVFqX379iooKHBhKjMRgSbqfvs0RUdHR65z8+ZNV2YD7uX2fTMYDIrPsDqHCDRRt/dpknTHPk1du3bVP//8o8uXL6tbt25ujgjcoV27dqqpqVFxcbFSU1PdHscYbBvRRP17n6YtW7bos88+U2lpqXJyclRTU6MhQ4bwwjBcsWfPHi1fvlwLFy7UJ598oi+//FLHjh1Tfn6+Ll++rLFjx/LCsEOIAAAYjKeDAMBgRAAADEYEAMBgRAAADEYEAMBgRAAADEYEAMBgRAAADMZW0jDa77//rvz8fOXl5amsrEwjRozQCy+8oAkTJujnn3/WmTNntH//fh05ckRDhgxRnz59tG7dOlVWVioUCmnatGnasWOHysrK9Ouvv2rBggVasWKF4uLiVFBQoA8//FBLlixRXFycysrKNGPGDLf/ZOAOnAnAaAcPHpTH49HcuXPVr18/SVJCQoISEhIkSYsWLdLo0aM1bdo0hcNhrV+/Xr169dLUqVMVHx+vQCCgY8eOKTExUfHx8SopKdGuXbuUnp6ucePG6erVq/rtt980fPhw+f1+N/9U4J6IAIw2bNgw7d69WzNnzrxjh9XbTp8+rWbNmqljx47q37+/Tpw4oejoaDVr1kyvv/66Tp06pSeeeEIvvfSSZs+erQ4dOmjMmDEaNWqUAoGAYmNjlZ6eroyMDJWWlrrwFwK1IwIw2l9//aXvvvtOaWlpunbtmq5fv65QKBR5uuexxx7Tnj17FA6HtW/fPnXu3FmbN2+WJO3du1edOnXSmjVrVFVVpaNHj6q0tFSdO3fWhg0btGTJEpWVlcnv9+v7779Xdna2y38tcDciAKPt2bMn8uDct29fbdy4UdnZ2YqPj1deXp5mzpypzz//XFOmTNGTTz6p0aNHq6CgQKNGjVKzZs307LPPqmfPnhoyZIj279+vhIQEzZkzR/v27dOwYcN048YNvfvuu8rPz9fQoUNd/muBu7GLKAAYjDMBADAYEQAAgxEBADAYEQAAgxEBADAYEQAAgxEBADDY/wGqjdThOc3MMAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.barplot(x=\"success\", y=\"dependen_no\", data=ndf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.43931866572 out of 1409\n"
     ]
    }
   ],
   "source": [
    "total = len(ndf)\n",
    "success = len(ndf[ndf.success > 0])\n",
    "print(str(success*1./total) +\" out of \"+str(total))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## success rate when excluding datasets with other code"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1447"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(df1.doi.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "merged = df1.merge(df, on = 'doi')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1409"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(merged.doi.unique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.379782521144 out of 2483\n"
     ]
    }
   ],
   "source": [
    "mdf = merged[merged['result'].notna()]\n",
    "mdf = mdf[mdf.other_code == 0]\n",
    "\n",
    "total = len(mdf)\n",
    "success = len(mdf[mdf.result == 'success'])\n",
    "print(str(success*1./total) +\" out of \"+str(total))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Conclusion: success rate when excluding datasets with other code (38%) is similar to the general one (39%)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2.7.16 64-bit ('env': virtualenv)",
   "language": "python",
   "name": "python271664bitenvvirtualenv1ed0af31ce0646af8a1114a0dd7da57c"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
